C語言筆記-const(1)

const是一個常見的常數,函數輸入參數如果是非指標的數據,通常就是理解成這數據在此函數中不會被修改,單純做傳遞
如果輸入參數有指標的話就很曖昧了。

在傳遞的指標數據前面加上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也是被修改了

這個網誌中的熱門文章

FreeRTOS學習筆記 (二)-任務創建和刪除(xTaskCreate及vTaskDelete)

FreeRTOS學習筆記 (三)-時間管理vTaskDelay()及vTaskDelayUntil()

C語言筆記-文本處理(1) 善用 asprintf取代sprintf