亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數組指針和指針數組的區別

發布時間:2020-08-07 08:27:06 來源:網絡 閱讀:424 作者:_xd_ 欄目:編程語言

數組指針:a pointer to an array ,指向數組的指針
指針數組:array of pointer ,用于存儲指針的數組,即數組元素都是指針
int (p)[6] 數組指針 :表示指向數組a的指針 元素表示:(a)[i] (指向一維數組的指針,也成行指針)
int p[6] 指針數組 :表示數組a中的元素都是int 型,即int型指針 元素表示:(a[i]) 或者a[i] ([]優先級高于
代碼:
#include<iostream>
using namespace std;
int main()
{
int a[4] = { 1,2,3,4 };
int
b[4]; //指針數組
int(c)[4]; //數組指針
c = &a; //讓c指向a的首地址
for (int i = 0; i<4; i++)
{
b[i] = &a[i]; //b數組的元素為指針,即元素內容為地址
}
cout <<
b[1] << endl; //b[1]=&a[1],即b[1]中為地址(該地址中存入的是數據2) , b[1]即取&a[1]中的元素內容,即2
cout << (
c)[2] << endl;//可將(c)看成數組名,相當于a,(c)[2]=a[2],即為3
return 0;
}
執行結果:
2
3

注意:定義了數組指針(c)[i],就必須給這個指針一個地址c=&a,不能不給指向(地址)就直接賦值((c)[i]=a[i]),否則會出錯
技巧:可以將數組指針的(*c)看成一個數組名使用

數組指針
int (p)[6] ()優先級高,說明p是一個指針,指向一個int型的一維數組,這個數組的長度是n,也就是p的步長為n,執行p+1(p要跨過n個整型數據的長度)
int a[3][4];
int (
p)[4]; //定義一個數組指針,指向含4個元素的以為數組
p=a; //將二維數組a的首地址賦給p,即a[0]或&a[0][0]
p++; //該語句執行后,即p=p+1,p跨過行a[0]指向了行a[1]

#include<iostream>
using namespace std;
int main()
{
int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int(p)[4];
p = a;
cout << (
p)[0] << endl;
p++;
cout << (p)[0] << endl;
cout <<
((p)+1)<< endl; //((p)+1)相當于(p)[1] ,*p此時為一個地址

}
執行結果:
1
5
6

指針數組 int p[n]
[]優先級高,先與p結合成為一個數組,再由int
說明這是一個整型指針數組,它由n個指針lexington的元素組成(這里執行p+1是錯誤的,這樣賦值也是錯誤的:p=a,p是個不可預知的表示,只存在p[0],p[1]….p[n-1],它們分別是指針變量可以用來存放變量地址),可以這樣p=a;這里p表示指針數組第一個元素的值,a的首地址的值
int *p[3]; //表示一個一維數組內存放著三個指針變量,分別是p[0],p[1],p[2]
int a[3][4];
for(i=0;i<3;i++)
p[i]=a[i];

ps:數組指針只是一個指針變量,它占有內存中一個指針的存儲空間,指針數組是多個指針變量,以數組形式存在內存中,占有多個指針的存儲空間
指針數組要表示數組中第i行第j列的元素:
(p[i]+j) ((p+i)+j) ((p+i))[j] p[i][j]

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳朔县| 蓬莱市| 穆棱市| 嘉兴市| 天水市| 梁平县| 离岛区| 昌黎县| 抚松县| 灵石县| 鸡泽县| 康马县| 北碚区| 泰兴市| 巩留县| 广水市| 正镶白旗| 西青区| 富宁县| 鄢陵县| 磴口县| 南宁市| 丰原市| 拜泉县| 天峨县| 德钦县| 达拉特旗| 朝阳市| 益阳市| 资中县| 花莲市| 合阳县| 武定县| 平武县| 湛江市| 巫山县| 淮滨县| 宜阳县| 石狮市| 二连浩特市| 来凤县|