這裏講的是c中的const不是cpp中的
int const a 等價於 int const b
char * const p 表示指針變量p中的地址不可被修改
const char *p 表示指針p指向的內存空間不可被修改
const chat * const p 表示指針變量和指向的內存空間都不可被修改
但是在c語言中const其實是個僞命題 因爲它只是將變量設爲不可修改 也就是你無法直接修改變量
但是可以間接修改變量 因爲內存不是隻讀的 因此我們可以
#include<stdio.h>
int main()
{
const int a = 1;
int *p = (int *)&a;
*p = 100;
printf("%d\n",a);
return 0;
}
進行修改但是我發現在vc++6.0中是做不到修改但是在vs中是可以的
這種寫法甚至不能通過編譯
利用const的好處
1.在指針函數參數時可提高代碼的可讀性減少bug
2.分清函數的輸入與輸出