1. 程式人生 > >c語言const用法總結

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.分清函式的輸入與輸出