1樓:伊·梵
陣列是順序儲存的,給你畫個記憶體圖
2樓:匿名使用者
p賦予a[0][0]的地址後,*p就是1了,*(p+2)是a陣列裡第3個元素,也就是3,*(p+4)是第5個,也就是5,
m=(*p)*(*(p+2))*(*(p+4));是把它們3個乘起來乘起來是15
像這樣的二維陣列,用指標時把它看在一維的就可以了
3樓:幻想東方
答案是15
p是陣列起始位置指標,二維陣列在記憶體中的存法是一行一行的存。
(*p)是陣列的第一個元素,類似於p[0]=1;
(*(p+2))是類似於p[2]=3;
(*(p+4))是p[4]=5;
所以1*3*5=15。
4樓:
答案是:15
*p = 1
*(p+2)=3
*(p+4)=5
相乘等於15
感覺你就是看著太亂就不想分析,害怕了,其實不難,括號中間的*是乘法
5樓:匿名使用者
15*p 就是 a[0][0]
*(p+2)就是a[0][2]
*(p+4)就是a[1][0]
或者你乾脆就認為p是一維陣列,內容是
6樓:
15 可以看下二維指標在記憶體中的儲存形式
c語言指標輸出,C語言指標輸出 char str 2 printf c n , str printf x n , str printf x n ,str
在char str 2 中,str指向了字元 2 的地址,str的記憶體中裝的是字元 2 的地址,但自己也有一個地址,它的地址就是 str。getmemory str 傳入的是指標str自己的記憶體地址,而非它指向的地址 getmemory str 傳入的是指標str指向的地址,而非它自己的地址 首...
c語言問題,陣列與指標,C語言陣列和指標的問題
char a computer a指向一個常量字串,常量字串是不能修改的,而你的for迴圈內要修改a指向的這個常量字串,自然要出錯 char a computer 這個a就是個普通陣列了,它的內容是可以改動的,就不會出錯了 因為 a是個指標啊 所以應該賦值賦地址!所以 應該 char a compu...
c語言指標陣列問題,求高手解惑
錯誤很明顯啊,int length char p 需要一個char 引數,你的str 卻是char 是一個指標陣列,明顯型別不匹配 看你的程式,應該是想輸入一個字串並判斷其長度吧 你把char str 20 改成 char str 試試 include include int length char...