找錯 const的使用

2021-07-29 12:12:11 字數 685 閱讀 9842

#include int main()

(1)在**的第13行,由於變數x為整型常量,因此不能改變x的值。在這裡會出現編譯錯誤,並提示「l-value specifies const object」,也就是說,等號左邊的是常量物件。如果在**第5行沒有給x初始化,那麼x就是乙個隨機數,並且以後也不能給它賦值了。

(2)**第15,16行,a1定義為const int*型別,注意這裡的const在int*左側,它使用修飾指標所指向的變數,即指標指向為常量,第15行中把a1指向變數c是允許的,因為這修改的是指標a1本身,但是第16行改變a1指向的內容是不允許的,編譯器給出的錯誤同樣是「l-value specifies const object」。

(3)**第18,19行,a2定義為int* const型別,注意這裡的const在int*右側,它是用修飾指標本身,即指標本身為常量,因此第18行中修改指標a2本身是不允許的,而第19行修改a2指向的內容是允許的。

(4)**第21,22行,a3定義為const int *const,這裡有兩個const,分別出現在int*的左右兩側,因此它表示不僅指標本身不能修改,並且其指向的內容也不能修改。所以**第21,22行都會出現編譯錯誤。

在這裡一定要注意:變數x,a2和a3在宣告的同時一定要初始化,因為它們在後面都不能被賦值。而變數a1可以在宣告的時候不初始化。

常見錯誤和找錯方法

常見錯誤 總結 沒有效果就去找 排錯方式 1.根據知識點 2.根據業務邏輯來安排 2 1.明確瀏覽器解析的正確順序 1.標籤 2.css 3.js 2 2.頁面上啥也沒有,證明沒有標籤或者標籤位置寫錯 2 3.頁面上沒有樣式,證明選擇器沒有樣式 2 4.頁面上沒有動態互動,要麼沒有互動屬性,要麼互動...

C語言const易錯點

const int a int const a 這兩個寫法是等同的,表示a是乙個int常量。const int a 表示a是乙個指標,可以任意指向int常量或者int變數,它總是把它所指向的目標當作乙個int常量。也可以寫成int const a 含義相同。int const a 表示a是乙個指標常...

中佇列的資料結構 每次一練 錯中找對,對中找錯

1.下列敘述中錯誤的是 a 演算法的時間複雜度與實現演算法過程中的具體細節無關 b 演算法的時間複雜度與使用的計算機系統無關 c 演算法的時間複雜度與使用的程式語言無關 d 對於各種特定的輸入,演算法的時間複雜度是固定不變 答案 d 解析 演算法的時間複雜度是指執行演算法所需要的計算工作量。演算法所...