c語言指標

2023-01-11 04:45:31 字數 795 閱讀 3667

1樓:新新

(1)c[3]超過陣列範圍了,陣列下標從0開始,c[0] c[1] c[2]

(2)pc+3 也超過範圍了啊

(3)c++ 指向c[1]這個值 應該是這個正確吧(4)c已經是陣列第一個元素的地址了,&c再取地址又亂套了*pc=c當然不可以寫成pc=c了,那樣意義全變了。

可以拆成兩句:

char c[3];

char *pc=c; 定義了一個char型的指標。

2樓:匿名使用者

char c[3],*pc=c 因為用的是逗號 所以要有*pc=c如果改成分號,相當於char c[3]; char *pc;pc=c這樣才行

char *pc;pc=c;相當於 char *pc=c;

如果你用的是譚浩強的c語言第四版 翻書到231頁中間有以上的說明關於a的答案。。。char c[3]意思是有3個元素啊。。。也就 c[0] c[1] c[2]..

哪來的c[3]嘛 哈哈

3樓:牛孝祖

沒有c[3].c[0]開始共三個所以到c[2] 。char *pc=c 是把型別為char的c的地址放到pc中。

char pc=c,pc就成了一個型別為char的變數而後面的c也不再是個地址而是一個沒有加『』的字元,如果非要把c當個地址來賦給pc的話 pc應該是個char陣列,因為char只能是一個字元。

4樓:匿名使用者

只有c[0]、c[1]、c[2] 沒有c[3]的 *pc=c不可以寫成pc=c 兩個的型別是不同的

c語言空指標野指標通用指標,C語言 空指標

野指標就是不知道指向 或者說不知道指向的記憶體是否可以使用,一般都是剛剛宣告但沒有初始化的指標。空指標不是指向常數0,只指向地址0,即null,其實換句話說,指標的本質就是地址嘛,空指標就是指標本身的值 地址 為0 空指標的作用是防止野指標的出現,因為我們不能知道野指標到底指向 所以我們也無法判斷一...

c語言行指標和列指標,C語言行指標和列指標

在任何時候 抄都不能定址,它是用bai來取地址的.p i 在任du何時候zhi 都等價dao於 p i p i j 其中p是int x 型別的 在任何時候都等價於 i x j x是一個變數.int a 10 20 這裡x 20 int a 20 10 這裡x 10 c語言沒有什麼行指標,列指標.一維...

C語言指標

正如您所說 a是一個常量,常量是不能修改的變數。不可以修改,不代表不可以引用呀,a i 只是借用a的值 陣列的首地址 來訪問其他成員,實際上並沒有改變a的值。但是換成a 執行之後a的值就改變了,被修改了,編譯當然通不過啦。這道題中的a是陣列的首地址,要是改變a的值,那陣列不是也改變了嗎?所以,一定是...