iT邦幫忙

DAY 20
0

21世紀C語言實作及感想系列 第 20

21世紀C語言之20 :const

  • 分享至 

  • xImage
  •  

筆者對const 的認知,就是 const double PI = 3.14;

宣告常數,數學中有很多常數,這是很基礎的用法 。

本書的作者,給了一個例子:

void set_elmt(int *a, int const *b){
    a[0] = 3;
}

int main(){
    int a[10] = {};
    int const *b = a;
    set_elmt(a, b);
    printf("%d \n",(int*)b); 
}

這個const *b 的值可以被改變的。有點困惑了!!

作者列出了六種常見的const用法
右往左閱讀:
int const = a constant integer
int const * = a (variable) pointer to a constant integer
int * const = a constant pointer to a (variable) integer
int * const * = a pointer to a constant pointer(常數指標) to an integer
int const * * = a pointer to a pointer to a constant integer(常數)
int const *const * = a pointer to a constant pointer to a constant integer(常數)

int const 和const int 是一樣的。但const * 和* const 是不一樣的。


上一篇
21世紀C語言之19 :單元測試
下一篇
21世紀C語言之21 :curl
系列文
21世紀C語言實作及感想30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言