關於c指標的題,C語言關於指標的一道題。

2021-07-04 18:10:46 字數 1585 閱讀 6224

1樓:漫遊靜心

1、定義一個int型二維陣列,會在記憶體中分配一段連續的空間,存放這些數。按照你的定義,是8個數,一個int型是4個位元組,所以你定義的陣列一共佔用了32個位元組,這32個位元組的首地址為:0x0064fd38。

2、陣列名是這32位元組的首地址,是一個指標,但是可以理解為被const修飾的指標,意思就是這個值是不能改變的,不能對zippo進行賦值等操作。

3、因為是二維陣列,zippo+1,的意思是的數”6“的首地址,*zippo+1的意思是4的首地址。

4、*zippo+1,這種寫法不好。不要用系統自帶的優先順序,想先幹嘛後幹嘛,就加上括號。讓人一目瞭然,這樣寫在工作中會被批評的。

5、*的優先順序高,+號的優先順序低,所以先執行:*zippo,這個時候的值就是”2“的首地址,然後再+1,就變成了”4“的首地址。

6、指標+1,與普通的數+1是不一樣的,指標+1的意思是:1乘以資料的型別。所以實際是:

地址加了4個位元組,所以尾數為3c.

7、那麼zippo+1為什麼是6的首地址呢?因為zippo是整個陣列的首地址,所以他加上1,直接就跳了一行,跳到了下一行,也就是6.*zippo是第一行資料的首地址,所以他加上1的意思就是:

跳一個數,跳到了4上。雖然他們的值都是一樣的,但是意思大不相同

8、zippo[0]:0x0064fd38.就是這個。

2樓:

zippo[i][j] 是二維陣列。zippo是整陣列的首地址,zippo[0]實際上還是一個地址,是zippo[0][0]的地址。

3樓:匿名使用者

對於陣列,有 *zippo = zippo = 0x0064fd38

對於非空指標p, *p 定義為 p[0].

於是:*zippo == zippo[0] = &(zippo[0][0]) = 0x0064fd38

*zippo + 1 == &(zippo[0] [0]) + 1 == &(zippo[0][1])

注意zippo[0][0]是int, 所以*zippo是int型指標, 故

*zippo + 1 = *zippo + sizeof(int) = 0x0064fd38 + 4 = 0x0064fd3c

4樓:匿名使用者

此為二維陣列,第一維相當於是指標,*zippo是指標,指向zippo[0][0],zippo[0]值是0x0064fd38

c語言關於指標的一道題。

5樓:匿名使用者

sum=sum+(*p); 二維陣列的指標不是怎麼用的吧···直接加個一就相當於指向了第二行的首地址了···

6樓:匿名使用者

printf("%5.2f",*((*(p+n-1))+i));

c語言指標簡單的程式設計題 5

7樓:匿名使用者

int main()

ptrdouble = &a[10];

//輸出後是個值

for (i = 0; i<10;i++)printf("%f",result);};

c語言中關於指向陣列的指標C語言中關於指向陣列的指標

char str 100 char pi str 相當於char pi pi str char ppi pi 這個地方抄錯了。應為char ppi pi 定義加 表明這是指標型別的變數 用的時候,就是用的指標,加 幹什麼。只有取指標所指變數的值,或給指標所指的變數賦值的等涉及指標所指的變數的時候,才...

關於C 指標

cin.getline就是獲得一個最大長度不超過20個字元的 19或者19以下 的字串,儲存在buffer裡面,這個時候buffer裡面已經儲存了一個字串 例如 abcde 0 因為c字串是以 0結束的。然後,將這個字串傳給函式str的時候 while str1 如果str的內容為0,那麼while...

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

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