-
b 是指標,*b 是記憶體中的值,temp=*b,變數值是給變數的,正確。
如果將 temp 定義為指標,int *temp,其中 temp 是指標,temp 表示位址,*b 是變數值,變數值而不是位址當然是不正確的,其他人也是如此。
-
int * temp;
這是定義乙個指標變數,變數名是temp,可以儲存乙個位址;
int temp;
這是定義乙個整數變數,變數名是temp,可以儲存乙個整數;
P1 不是位址,而是整數的值。
p1 應該是乙個指標變數,* 是乙個間接訪問運算元,用於根據 P1 中儲存的位址訪問儲存單元,儲存單元表示使用時儲存在其中的值。
所以 *p1 是乙個整數值。
-
你不知道指標,也沒有你宣告的 *temp 的位址,你知道他指向哪裡嗎? 沒有分配指向該地點的指標是即時的,如果您的指標指向您機器的作業系統,您正在更改作業系統中的引數,您準備重新安裝作業系統,人們宣告 temp 僅用作交換 2 個指標值的中轉站, 這樣它們 2 的價值就不會因為乙個分配給另乙個而丟失。
-
你誤會了。 指標是位址(它指向的變數)。 b 是變數的位址,*b 是對指標的取消引用,並取出它所代表的位址的值,該值相當於開啟鑰匙的房間中的值。
temp=*b ;= 兩邊都是 int 型別。
temp=b ;左邊是 int,右邊是位址,而不是 int 值。
-
1、陣列長度一般由洪皮鄭來定義,便於後續工程較大時修改。
2.盡量在程式中做一些錯誤控制,即考慮改進它,比如判斷上述記憶體分配是否成功,判斷呼叫函式後是否達到預期目的。
3. 使用 typedef 來簡化定義。
4.使用null==pps,代替pps==null是乙個很好的程式設計習慣,這在一些採訪中也會被問到,之所以會這樣,是因為當“==”被誤寫為“=”時,前腔彈簧直接編譯錯誤,後者可以執行,這種隱藏的錯誤會導致整個工程混亂, 這種bug有時很難發現,所以這個習慣很重要,一句話就是“判斷時,在等號的左邊寫常量,在等號的右邊寫變數,防止少寫乙個等號造成嚴重的bug”;
5.最後,一定要記得在使用指標後釋放記憶體,否則會出現記憶體洩漏等問題。
-
在C語言中,函式的引數不僅可以是整數、小數、字元等特定資料,還可以是指向它們的指標。 使用指標變數作為函式引數,可以將函式外部的位址傳遞到函式內部,這樣函式外部的資料就可以在函式內部進行操作,並且資料不會隨著函式的結束而被破壞。
陣列、字串、動態分配的記憶體等都是不能通過單個引數傳遞到函式中的資料集,而只能傳遞它們的指標,並通過函式內部的指標影響這些資料集。
有時,對整數、小數、字元等基本型別的資料進行操作也需要指標,乙個典型的例子是交換兩個變數的值。
呼叫 swap() 函式時,變數 A 和 B 的選取器的位址分別分配給 P1 和 P2,因此 *p1 和 *p2 代表變數 A 和 B 本身,並且 *p1 和 *p2 的值交換為 A 和 B 的值。
雖然 p1 和 p2 在函式執行後會被銷毀,但它對外部 A 和 B 的影響是“持久的”,並且不一定要隨著函式的結束而“回到原始狀態”。
請注意,臨時變數 temp 特別重要,因為執行 *p1 = p2; a 的值將被 b 的值覆蓋,如果不儲存 a 的值,您將無法找到它。
-
例如,指標實際上是乙個位址。
inta=3;
intp=&a;
此時 p 是乙個指標,它的值是 a 在記憶體中的位址,& 是取位址的意思,指標在函式呼叫中作為表單引數使用,所以在呼叫函式時,傳遞給函式的實引數是引數的位址, 並且函式會根據執行過程中傳遞的位址對變數敏感。最後,此變數的值將更改。
這種傳遞方法也是通過引用位址實現的。
如果沒有指標變數,函式在呼叫時會開啟記憶體的另一部分的記憶體,傳遞的值將移交給新開啟的記憶體。 在函式執行過程中,它只對新開啟的記憶體變數的這一部分進行操作,結束後不會返回該值,因此指標變數實際上是通過位址來更改 main 函式中變數的值。
-
只是在您的問題中,指標指向並引用了另乙個指標變數。 假設指標的指標是 pp,指標的引用是 r,指向的指標是 p,那麼:
int a;目標整數變數。
int *p=&a;一級指標。
int **pp=&p;輔助指標。
int &r=&p;指標引用。
它們的關係用邏輯符號表示為:
pp->p->a(pp的值是p的位址,p的值是a的位址,即pp指向p,p指向a,pp本身也需要占用記憶體空間,所以pp也有自己的位址)。
R=P->A(R指的是P的位址,P的值是A的位址,也就是說R是P的別名,P指向A,其中R的值是P的位址,R本身不需要占用記憶體空間,所以它沒有自己的位址)。
因此,引用變數和指標變數的區別在於引用本身不占用記憶體空間,指標變數需要占用記憶體空間(所有變數都需要占用記憶體空間,所有占用記憶體空間的東西都必須有位址)。
如果你還是不明白,你可以問。
-
c ?C語言的本質是指標,也是最難理解的,如果用得不好,系統很容易崩潰。
對於每個路由器,都有乙個控制台介面,管理員可以通過RS-232電纜將控制埠連線到逗號終端的主埠,並通過該終端配置路由器。 >>>More
**量控制,拍攝霧場景通常會在相機內增加1 2檔**的測光資料。 根據霧的強度和螢幕上的白色量,可以進行更多調整。 這樣,霧氣可以變白,層不會丟失。 >>>More