c語言const用法總結

這裏講的是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.分清函數的輸入與輸出

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章