91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

c/c++指針精講和需要注意的地方

發布時間:2020-06-13 19:12:48 來源:網絡 閱讀:483 作者:超級極客 欄目:編程語言




int *x =&10;//不能對10取地址 因為他不在 堆棧區
//堆棧常量區的都b可以對變量取地址

10就是一個字面量 不能取地址


 1:指針是一種數據類型

1)指針也是一種變量,占有內存空間,用來保持內存地址,在一般情況下所有指針、

都是4個字節;

2)*p操作內存

再指針聲明時,*號表示所聲明的變量為指針,

在指針使用時,*號表示操作指針所指向的內存空間的值,

*p相當于通過地址{p變量的值}找到一塊內存,然后操作內存

*p放在等號左邊賦值(給內存賦值)

*p放在等號的右邊取值(從內存獲取值)


3)指針變量和它指向的內存塊是兩個不同的概念;


 char s='a';
char *p=&s;
*p='b';//此操作對不會改變指針變量的值,但是會改變所指向地址的值


保證指向的內存是可修改的


char*p="abcdeff"; //c++編譯器會做兩個操作先給字符串分內存再給 p 分配4個字節內存
然后把a的地址賦值給 *p  也就是字符串的首地址


char *p=NULL;

strcpy([,"abcde");  //不可以向空內存寫數據


 4)怎么理解(多級)指針做函數參數

a.站在c/c++編譯器的角度,如果是指針的形參 編譯器只會分配四個字節的內存

例如:

/*

void sed(char *p1);void sed(char*  p1)

void send(char**p1);void send(char *   * p1);

void send(char ***p1);void send(char *p[])

void send(char (*p)[10]);void send(char ******p);

*/  


二間接賦值時指針存在最大的意義

1指針變量和他所指向的內存空間是兩碼事

int a=10;

a=15;    //直接賦值

int *p=NULL;

*p=20;  //*p 放在左邊就是間接修改了a的值 這樣體現出的意義不大


但是如果用在函數傳參那就不一樣了;


int Ge(int*p)
{
    *p=30;
}
int main()
{
	int a=10;
	Ge(&a)
}

有點事 下次再補充



向AI問一下細節

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

AI

沽源县| 南平市| 株洲县| 阳西县| 汝南县| 衡南县| 晴隆县| 永城市| 青海省| 忻城县| 永新县| 沁阳市| 贞丰县| 阜新| 施甸县| 五原县| 平顶山市| 区。| 榆林市| 长白| 卓资县| 德州市| 南投市| 济南市| 安达市| 宁城县| 盖州市| 克什克腾旗| 方山县| 贵南县| 东至县| 汝州市| 康平县| 平安县| 兴国县| 平泉县| 宁南县| 阿拉善盟| 普定县| 深泽县| 贡觉县|