關於c語言的指標問題指標的位址1問題

時間 2021-05-02 22:17:26

1樓:小p精神

我來給你寫個例子,你參考一下

int *p, *q,*s;

int a[3] = ;

p = a; //將a的首位址賦值給p 那麼p指向的值應該是a[0]的值2

printf("a[0] = %d; *p = %d \n", a[0], *p);

q = &a[0] + 1; //將a[0]的位址向右偏移一位就等於a[1]的位址 a[1] = 8那麼*q應該等於8

s = q + 1; //將q指標向右偏移一位,相當於把a[1]的位址向右偏移一位,即a[2]的位址指向的值是25

//列印驗證一下

printf("a[0] = %d; *q = %d ;a[1] = %d *s = %d\n", a[0], *q,a[1],*s);

2樓:

輸出的四行**分別是:

a的值,

a的位址+1的位址值(並非a的位址,因為你的p值已經+1了),*p表示的是p指向位址的內容值;

*q表示a的位址+17位址上內容的值.

a的位址+1的值,是指向下乙個位址,偏移量為a的型別長度

C語言指標位址輸出問題,關於C語言指標位址輸出問題

能夠輸出位址值!include main 這個程式就可以 注意變數名,前後要一致,不要用大寫!請將 p改為 p 將最後一行改為 printf x b 你會看得更真切!x 按十六進製制輸出 你把 與 兩個的功能搞錯了 乙個是取位址 乙個是指向 但不取。注意變數名區分大小寫,菜鳥。我沒看出來有什麼不對的...

C語言指標與位址的問題,C語言指標與位址的問題

只有當定義指標時才可以這樣寫 int pointer p 這條語句和 int pointer pointer p 兩條語句等價 printf func pointer 是把pointer所指向的值 變數 做函式引數 printf func pointer 是把pointer的本身所儲存的值,即所指向...

關於c語言指標的問題,乙個關於c語言指標的問題

二維陣列相當於乙個一維陣列裡面的元素都是一維陣列 二維陣列名也相當於乙個二級指標。一維陣列 a a 0 二維陣列 a a 0 a 0 0 通俗點寫就是a a 0 a 0 a 0 0 因為 a 0 a 0 0 所以a於 a指向同乙個位址 a 0 0 則 a a 0 0 include int main...