日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++数组与指针回顾总结

發布時間:2025/3/18 c/c++ 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++数组与指针回顾总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C++數組與指針回顧總結

1 //數組名是常量指針, 2 //a指向數組首元素,指針步長為數組元素大小,&a同樣也指向數組首地址,指針步長為數組大小,如下: 4 //a+1 是相對數組起始地址偏移了sizeof(int)字節 5 //&a+1 是相對于數組起始地址偏移了sizeof(a)字節 6 int a[] = { 1, 3, 2, 4 }; 7 cout << *a << *(a + 1) << *(a + 2) << *(a + 3) << endl; //1324 8 9 10 cout << a << " " << &a << endl; //兩地址相同 11 cout << &a + 1 << "," << &a + 2 << endl; //0048FBB8,0048FBC8,剛好差了16字節 12 13 auto ta = a; //這個方式有趣,只能用這種方式原樣使用數組 14 cout << ta[0] << ta[1] << ta[2] << ta[3] << endl; //1324 15 16 //向上取址,正確方式 17 int b = 10; 18 int* p = &b; 19 int** pp = &p; // 20 int*** ppp = &pp; 21 int**** pppp = &ppp; 22 23 //向上取址,錯誤方式 24 int** ppt = &(&b); //&b是常量地址,&(&b)是對常量取址,錯誤行為,只有變量能取址 25 26 27 //定義一個指向 int[4]類型的指針pa,注意,數組元素個數必須相等,不能是 int(*pa)[2] = &a; 28 int(*pa)[4] = &a; 29 30 //同理,可以先定義一個int (*)[4]類型,再用它定義變量 31 typedef int(*Arr4Ptr)[4]; //聲明類型 32 Arr4Ptr px = &a; //定義變量 33 34 //數組內存是連續的嗎? 35 //答案:數組的一級元素在內存中都是連續存放的,示例如下: 36 37 int iarr1[6]; //內存連續 38 int iarr2[6]; //內存連續 39 int iarr3[6]; //內存連續 40 float farr[3]; //內存連續 41 42 int* arrptrs[3]; 43 44 arrptrs[0] = iarr1;; 45 arrptrs[1] = iarr2; 46 arrptrs[2] = iarr3; 47 48 //一級元素共3個,每個都是類型為 int*的指針,它們在內存中是連續存放的: 49 //002CF994,002CF998,002CF99C 50 cout << &(arrptrs[0]) << "," << &(arrptrs[1]) << "," << &(arrptrs[2]) << endl; 51 52 //二級元素iarr1,iarr2, iarr3明顯是不連續存放的,因為它們是三個不相關的普通變量 53 cout << iarr1 << "," << iarr2 << "," << iarr3 << endl;

參考:https://www.cnblogs.com/nosadness/p/4369937.html

posted on 2018-02-12 12:25 時空觀察者9號 閱讀(...) 評論(...) 編輯 收藏

總結

以上是生活随笔為你收集整理的C++数组与指针回顾总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。