C++ 指標常見用法小結 - 程式人生

文章推薦指數: 80 %
投票人數:10人

常量指標(const pointer)是說這個指標本身就是一個常量物件,所以它不能指向其他物件,但是不意味著它不能改變所指向物件的值。

int num=9;int *const ... 程式人生>>C++指標常見用法小結 C++指標常見用法小結 阿新••發佈:2019-01-01 本文主要面向C++初學者。

指標在C\C++語言中是很重要的內容,並且和指標有關的內容一向令初學者頭大。

在本教程中,我總結了一些關於指標和陣列的用法(尤其是指標和二維陣列)。

初學者經常遇到的很多關於指標和陣列的問題應該可以在本文找到答案。

本場Chat只有文章,沒有交流。

  本文參考資料C++Primer,5e;Coursera北大資料結構與演算法課程。

1.概論  指標在C\C++語言中是很重要的內容,並且和指標有關的內容一向令人頭大。

針對初學者,我總結了一些關於指標和陣列的用法(尤其是指標和二維陣列)。

初學者大部分關於指標和陣列的問題應該可以再本文找到答案,高階用法我也沒有接觸到,就這樣吧。

2.指標基礎  指標是指向另外一種型別的複合型別。

  指標本身就是一個物件,允許對指標進行賦值和拷貝;指標無需在定義時賦初值。

指標定義  "&"是取地址操作符。

intnum=1;int*p=#//(&是取地址操作符)利用指標訪問物件  使用解引用操作符“*”。

cout<usingnamespacestd;intmain(){inta[3][3]={{6,1,7},{2,5,4},{8,3,9}};cout<usingnamespacestd;voidprint1(int(*p)[3])//注意*p兩邊的括號不可缺少。

{cout<

usingnamespacestd;staticintm,n;voidhill(int**a){for(inti=0;i!=m;++i){for(intj=0;j!=n;++j){intnum=*((int*)a+i*n+j);if(i==0){if(j==0){if(num>=*((int*)a+i*n+j+1)&&num>=*((int*)a+(i+1)*n+j)){cout<=*((int*)a+i*n+j-1)&&num>=*((int*)a+(i+1)*n+j)){cout<=*((int*)a+i*n+j-1)&&num>=*((int*)a+i*n+j+1)&&num>=*((int*)a+(i+1)*n+j)){cout<=*((int*)a+(i-1)*n+j)&&num>=*((int*)a+i*n+j+1)){cout<=*((int*)a+(i-1)*n+j)&&num>=*((int*)a+i*n+j-1)){cout<=*((int*)a+(i-1)*n+j)&&num>=*((int*)a+i*n+j-1)&&num>=*((int*)a+i*n+j+1)){cout<=*((int*)a+(i-1)*n+j)&&num>=*((int*)a+(i+1)*n+j)&&num>=*((int*)a+i*n+j+1)){cout<=*((int*)a+i*n+j-1)&&num>=*((int*)a+(i-1)*n+j)&&num>=*((int*)a+(i+1)*n+j))cout<=*((int*)a+i*n+j-1)&&num>=*((int*)a+i*n+j+1)&&num>=*((int*)a+(i-1)*n+j)&&num>=*((int*)a+(i+1)*n+j))cout<>m>>n;inta[m][n];for(inti=0;i!=m;++i){for(intj=0;j!=n;++j){cin>>a[i][j];}}//int*p=*a;hill((int**)a);return0;}10.返回指標和陣列返回指標#includeusingnamespacestd;inta[]={11,21,31,41};int*f(){returna;}intmain(){cout< #include #include



請為這篇文章評分?