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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++17(26)-数组、二维数组的指针、指向数组的指针、指向数组的指针的指针

發(fā)布時(shí)間:2025/3/12 c/c++ 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++17(26)-数组、二维数组的指针、指向数组的指针、指向数组的指针的指针 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
#include <iostream> #include <string.h> using namespace std;void setC1(int a[],int size){//a實(shí)質(zhì)是一個(gè)指針,指向數(shù)組for (int i=0;i<size;i++){a[i]=i;} }void setC2(int (*a)[4],int i,int j){for (int jj=0;jj<j;jj++){*(*(a+i)+jj)=*(*(a+i)+jj)*10; } } void setC3(int *a,int i,int j){for (int jj=0;jj<j;jj++){*(a+j*i+jj)=*(a+j*i+jj)*10; } }void setC4(int (*a)[],int j){for (int jj=0;jj<j;jj++){(*a)[jj]*=10;} }void setC5(int (*a)[],int i,int myj){int (*x)[myj]=reinterpret_cast<int (*)[myj]>(a);//注意這個(gè)myj是列數(shù)for (int ii=0;ii<i;ii++){for (int jj=0;jj<myj;jj++){ (*x)[jj]*=2;} x=x+1; } }void setC6(int *a,int myj){int (*x)[myj]=reinterpret_cast<int (*)[myj]>(a);//注意這個(gè)myj是列數(shù)for (int jj=0;jj<myj;jj++){ (*x)[jj]*=5;} }int main(int argc, char **argv) {int a[10];for (int i=0;i<10;i++){a[i]=i;}for (int i=0;i<10;i++){cout<<a[i]<<endl;} long long b[10];for (long long* i=b;i<b+10;i++){(*i)=reinterpret_cast<long long>(i);//每個(gè)指針的大小都是8個(gè)字節(jié)的,64位操作系統(tǒng),1個(gè)字節(jié)8位,8個(gè)字節(jié)64位,存每個(gè)元素的地址。}for (int i=0;i<10;i++){cout<<b[i]<<endl;} int c[10];setC1(c,10);for (int i=0;i<10;i++){cout<<c[i]<<" ";} cout<<endl; //指向二維數(shù)組的指針,也可理解為指向一維數(shù)組的指針的指針。setC6(c,10);for (int i=0;i<10;i++){cout<<c[i]<<" ";} cout<<endl; int d[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} };for (int i=0;i<3;i++){for (int j=0;j<4;j++){cout<<d[i][j]<<" ";} cout<<endl; }cout<<endl; int (*p)[4]=d;//注意這個(gè)4是列數(shù),表示指向4個(gè)列的行的指針。*(*(p+1)+2)=*(*(p+1)+2)*10;for (int i=0;i<3;i++){for (int j=0;j<4;j++){cout<<d[i][j]<<" ";} cout<<endl; }setC2(d,1,4);for (int i=0;i<3;i++){for (int j=0;j<4;j++){cout<<d[i][j]<<" ";} cout<<endl; }cout<<endl; setC3(&d[0][0],1,4);for (int i=0;i<3;i++){for (int j=0;j<4;j++){cout<<d[i][j]<<" ";} cout<<endl; }cout<<endl; setC4(&d[0],4);for (int i=0;i<3;i++){for (int j=0;j<4;j++){cout<<d[i][j]<<" ";} cout<<endl; }cout<<endl; int dd[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} };for (int i=0;i<3;i++){for (int j=0;j<4;j++){cout<<dd[i][j]<<" ";} cout<<endl; }cout<<endl; setC5(&dd[0],3,4);for (int i=0;i<3;i++){for (int j=0;j<4;j++){cout<<dd[i][j]<<" ";} cout<<endl; }cout<<endl; return 0; }

指向 a 的指針變量 p:
int (*p)[7] = c;

*表明 p 指向一個(gè)數(shù)組,數(shù)組的類型為int [7]

0 1 2 3 4 5 6 7 8 9 140729998545072 140729998545080 140729998545088 140729998545096 140729998545104 140729998545112 140729998545120 140729998545128 140729998545136 140729998545144 0 1 2 3 4 5 6 7 8 9 0 5 10 15 20 25 30 35 40 45 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 60 7 8 9 10 11 0 1 2 3 40 50 600 70 8 9 10 11 0 1 2 3 400 500 6000 700 8 9 10 11 0 10 20 30 400 500 6000 700 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 2 4 6 8 10 12 14 16 18 20 22 Hit any key to continue...

總結(jié)

以上是生活随笔為你收集整理的c++17(26)-数组、二维数组的指针、指向数组的指针、指向数组的指针的指针的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。