C語言筆記-const(1)
const是一個常見的常數,函數輸入參數如果是非指標的數據,通常就是理解成這數據在此函數中不會被修改,單純做傳遞
如果輸入參數有指標的話就很曖昧了。
在傳遞的指標數據前面加上const做修飾就很容易看出這參數在函示中並不會被修改,這對看code的人來說非常方便,就算未來自己看道也可以很快清楚。
不過還是能透過指標來修改const修飾過的變數:
把結果輸出可以看到有const修飾的b也是被修改了
如果輸入參數有指標的話就很曖昧了。
在傳遞的指標數據前面加上const做修飾就很容易看出這參數在函示中並不會被修改,這對看code的人來說非常方便,就算未來自己看道也可以很快清楚。
不過還是能透過指標來修改const修飾過的變數:
void set(int *a,int const *b){ a[0]=1; } int main(void){ int a[5]={}; int const *b=a; set(a,b); }
把結果輸出可以看到有const修飾的b也是被修改了