1樓:
無論幾維陣列,只要指標p已經指向了某個元素,那麼p[i]就是第i個元素值(i從0起算)。當然i有限定的取值範圍。
2樓:fu法c克k油
p[i]指的是
*(p+i)
3樓:
p[i]就是指向第i行。
p是指向陣列中某個特定元素的指標 那麼p+i 與 *(p+i)、*p++有什麼區別? 請詳細說明下~ 謝謝~~~~~~
4樓:
p+i :表示第i個元素的指標,其值為第i個元素的位址。
*(p+i):表示第i個元素,其值為第i個元素的值。
*p++:表示取p所指元素的值,並將p指向下乙個元素。
5樓:完蛋鬧
如果只是baip+i的話,相當du什麼都沒做,p還是指向zhi那個元素(在這我假設是dao
回data)...
*(p+i)表示的是從元素data開始,向答後數i次,數到的那個數就是*(p+i)表示的值...
++的優先順序比*高,所以*p++表示的是data後面那個元素的值...
6樓:孫永超
p+i是乙個位址陣列a[i]的位址,*(p+i)相當於a[i]為乙個值,*p++相當於*p;p++這兩條語句
c++中有二維陣列a[3][3],指標p指向&a[0][0]那麼請問p[1]表示什麼啊?
7樓:子非退而結網
二維陣列如:
a[3][3];
a[0] = ;
a[1] = ;
a[2] = ;
p指向二維陣列;
p[1] == a[1]
c語言中如(*p)[3]如果出現這*(*(p+i)+j)兩個*是什麼意思啊,求解啊
8樓:
p為指向3個元素的一維陣列的指標
p+i表示第i個包含3個元素的一維陣列的首位址*(p+i),對p+i解引用,得到p+i的內容,為一維陣列p+i的首元素的首位址
*(p+i)+j,一維陣列p+i的第j個元素的位址*(*(p+i)+j),一維陣列p+i的第j個元素的內容如果p指向乙個二維陣列a[i][j],那麼*(*(p+i)+j)等價於a[i][j]
9樓:
//舉例說明。
int a[2][3]=;
int (*p)[3]=a; //p的型別與a相同,這兒表示p指向陣列第一行。
printf("%d\n",*(*(p+1)+1)); //*(*(p+1)+1)等價於a[1][1],這兒的值為5。
10樓:匿名使用者
我們這樣來看
int arr[3] 這是乙個大小為3的整型陣列那麼int (*p)[3] 這就是乙個指向上述陣列的指標所以p+i也是乙個指向上述陣列的指標,即 *(p+i) 和上述陣列是同型別的
那麼 *(p+i)+ j 你就可以看成是 arr + j 了,就是指向上述陣列第j個位子的指標,接著就是*號取值了
請問c++中指標與二維陣列,下面圖中程式裡的 *(p+i*3+j) 是什麼意思啊? 謝謝 20
11樓:匿名使用者
這個利用的是二維陣列還是順序儲存的特點來直接計算a[i][j]的儲存位置
*(p+i*3+j)就是a[i][j],因為p是指向首元素的元素指標,a每行有3個元素,這樣a[i][j]按行優先儲存時,和a[0][0]差了這麼多個元素:i*3+j
a[0] 就是a[0][0]的位址
12樓:匿名使用者
*(p+i*3+j) 相當於 a[i][j]
c語言中,指標*p[i]與p[i]有什麼卻別?分別代表什麼意思?
13樓:匿名使用者
若果我還沒記錯的話:
你的問題:你這裡問的是指標
p[i]:陣列p的[i]這個地方放的值
*p[i]:陣列p的[i]這個地方放的值(這當做乙個位址)的值,即p[i]這個地方放了乙個位址(相當於另外乙個p[i]),然後用*讀取他所代表的值。----即我所說的:
陣列p的[i]這個地方放的值(當做乙個位址)的值
14樓:某李某
*p[i]指的是裡面的值。
p[i]子的是位址,也就是裡面的值所在的位址。
二維陣列a中p a,當 p後為什麼指向的是a
a是乙個二級源指標 指向乙個指標陣列,為a 0 a 1 a 2 a 0 a 1 a 2 又分別是指標,指向他們的兒子 所以p a p p本來指向a 0 後增一,指向a 1 a 1 就是a 1 0 p i j p i求行下標自j是列bai下標 dup i j p i 是行下標,j是列下標 p i j ...
c語言 二維陣列指標中的和,C語言 二維陣列指標中的 和
要回答你的這個問題,不妨先根據你的問題先編寫一段小的示例程式 include include using namespace std int a 3 4 int main 這段示例程式在我本地上執行的結果為 a i 0 4214816 a i 4214816 a i 4214816 a i 0 42...
如何讓該程式的指標指向二維陣列,並返回
在轉置函式中,宣告瞭轉置後的指標變數,但沒有給指標變數分配地址。可以使用下面的方法 include int transposition int p 3 for int i 0 i 2 i for int j 0 j 3 j b j i p i j return b void main 執行結果如下 ...