陣列與指標的問題,如下程式,求解釋

2022-07-10 00:45:33 字數 986 閱讀 1082

1樓:匿名使用者

p是一個動態變動的指標,而str是陣列的起始地址str+7是『e'的地址而不是字元

而*p就是指p指向的字元

p+=2是指每次移動兩位但是不超過第七個(p

2樓:匿名使用者

首先,對於陣列名的理解,你出了問題,str是一個字元型指標的常量,str+7也就是橫跨了7個單元格,表示的是『e'的地址,其次,對於指標的大小判斷的含義是,p

而你說的str+7不是具體元素的值,而是元素的地址,如果這樣 *(str+7)才是真正的元素值 e

3樓:善秋春

p在此儲存的是 指標記憶體地址,記憶體地址是個連續的整數值,就類似門牌號一樣。

p=str;表示p 儲存了陣列開頭的地址(假設為20000001),然後 p

4樓:

指標 int 等於指標

str是陣列名 在算術操作中可隱式轉換為指標

所以str 7是'e'的地址 *(str 7)是'e'

5樓:匿名使用者

指標p是動態指標,指的是一個地址,str值得是陣列str中的str[0]對應的地址,隨意地址可以進行偏移即+n,表示相對於[0]位置的偏移位數,p=str即是將str所指的地址賦值給p,這樣p開始指的位置也就是str[0]了,p+=2就是在str[0]這個位置上每次+2

6樓:匿名使用者

額,這是最基本的問題了,樓主稍微看看譚哥的指標那章即可解惑。

7樓:匿名使用者

str+7 是地址, p 開始指向的也是str的地址,其實都是數字

C語言程式指標陣列的問題

首先程式存在一個錯誤if max其次 max a,單提陣列名錶示的是陣列第一個元素的地址,所以此處表示指標指向陣列的第一個元素,如果 max的值變了,那麼陣列第一個元素對應的值也相應改變 max a 0 表示指標指向的單元儲存的內容被賦值為a 0 所對應的整數值,max改變並不影響a 0 所儲存的值...

C語言指標陣列與二維陣列行指標小問題

指標陣列 copy 該陣列中存放的全部都是指標,例如 原例子中的char name,這個是一個標準透了的一維陣列,就像是陣列 int a 4 a 1 2 a 2 3 不同的是陣列name存放的是指標,陣列a存放的是數字 name 1 name 2 表示的是把name 2 的指標賦值給name 1 就...

關於C語言指標的問題如圖,求解釋

這樣 bai理解不 int sss char s,char t 終止時 1 s 指向結尾,t 沒有到結尾,返回 s t 為正數 終止時 2 s 指向結尾,t 指向結尾,返回 s t 為 0 終止時 3 s 沒有到結尾,t 指向結尾,返回 s t 為負數 return s t 因為有一個等於的符號 所...