C語言指標

2022-10-07 18:41:31 字數 568 閱讀 1888

1樓:

因為兩個程式中都用 scanf("%d",p); 語句給p賦值了,所以執行結果一樣。

第二個程式即使沒有scanf("%d",p); 這個程式也能執行。因為定義指標變數以後,程式會在資料區給這個變數分配一段記憶體用以儲存將來要存放的指標,但在該指標未被指定具體物件之前(即指標初始化之前),該段記憶體中所儲存的資料是隨機的(這塊記憶體在分派給該指標變數前可能被使用過或未被使用過,可能會保留一些資料),使用這個指標變數時不存在語法上的錯誤,只不過可能造成的結果是未知的,如果僅僅是輸出該指標所指物件的話,還好些,應該能正常執行,如果要向該指標所指物件寫入資料的話,就有可能出問題。所以在使用指標前必須要先初始化,避免這類問題發生。

2樓:風若遠去何人留

第二個 理論上來說可以執行 但是

能不能出結果,就不一定了。

在int *p沒有做初始化時,同時也沒有分配空間這時p指向的空間是不確定的。

也就是說,這部分空間上進行賦值,是可以的,但是會不會引起其他問題,就是拼人品了。

運氣好,正好是一段沒誰用的記憶體。

運氣不好 就掛掉了。

c語言指標習題,C語言指標習題

main 答案是 afgd while i 最後列印出str的地址 字母 s str地址沒有變過。char p1,p2,str 50 abcdefg p1 abcd 將 abcd 首地址賦值給p1,也就是將p1指向字串 abcd p2 efgh 將 efgh 首地址賦值給p2,也就是將p2指向字串 ...

c語言指標符號問題,C語言指標符號問題?

當你想儲存一個地抄址的時候不加 int a 0 p a 當你想取指標裡的值 的時候加 int b b p b a b 0 就是說把a地址儲存的值取出來。當 p的值還是指標的時候 int p null int q null int a 0,b 1 q a p q p a 結果就是q 指向a p指向q ...

C語言指標的作用有哪些c語言中用指標的好處有哪些?

指標的用途非常廣泛,比如如果你想通過函式改變一個變數的值,就得用指標而不能用值傳遞。還有在很多時候變數,特別是物件的資料量實在太大,程式設計師就會用指標來做形參,只需要傳遞一個地址就行,大大提高了效率。簡單地說指標就是指向變數和物件的地址。基本說明 1 在計算機中,所有的資料都是存放在儲存器中的。一...