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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

指针基础及实例

發(fā)布時(shí)間:2023/12/2 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 指针基础及实例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

指針基礎(chǔ)

指針(變量)是C/C++支持的一種變量。指針變量的值是一個(gè)地址,該地址是一個(gè)16進(jìn)制的數(shù)。指針變量指向該地址所對(duì)應(yīng)的變量。

指針聲明

//*號(hào)表示指針變量。**號(hào)表示二級(jí)指針(指向指針的指針),只有由它聲明的變量可以指向指針變量。 //type包括C++基本數(shù)據(jù)類型及自定義類型type *variable_name;eg:int *p;int *a[5];char *ptr;int **pp;

指針定義

//指針的值是變量在內(nèi)存里的地址,一個(gè)16進(jìn)制的數(shù) int *ptr; int a; ptr=&a;//把int型變量a的地址賦給ptr int **pp=&ptr//把int *型變量ptr的地址賦給pp

實(shí)例(代碼已調(diào)試)

訪問(wèn)單獨(dú)變量

#include <iostream> using namespace std; int main() {//聲明一個(gè)int型指針變量//如果指針沒(méi)有初始值,可以將NULL(值為0)賦給它,避免后續(xù)使用未初始化的指針 int *ptr=NULL;//聲明二級(jí)指針int **pp=&ptr;cout<<"ptr:\t"<<ptr<<endl;//指針不可指向內(nèi)存地址為0的區(qū)域,此區(qū)域?yàn)橄到y(tǒng)保留,屬非法操作 //cout<<"*ptr:\t"<<*ptr<<endl;int a=100;ptr=&a;cout<<"ptr:\t"<<ptr<<endl;cout<<"*pp:\t"<<*pp<<endl;cout<<"**pp:\t"<<**pp<<endl;cout<<"*ptr:\t"<<*ptr<<endl;cout<<"*&a:\t"<<*(&a)<<endl;cout<<"a:\t"<<a<<endl;*ptr=101;cout<<"**pp:\t"<<**pp<<endl;cout<<"*ptr:\t"<<*ptr<<endl;cout<<"*&a:\t"<<*(&a)<<endl;cout<<"a:\t"<<a<<endl;return 0; }

訪問(wèn)數(shù)組

#include <iostream> using namespace std; int main() {//指針訪問(wèn)數(shù)組 int i,a[5]={10,20,30,40,50};//讓指針ptr指向數(shù)組首地址 int *ptr=a;cout<<"*ptr:\t"<<*ptr<<endl;for(i=0;i<5;i++){//i自增1,ptr+i移動(dòng)4個(gè)字節(jié),剛好指向下一個(gè)數(shù)組成員 cout<<"ptr + "<<i<<" 的地址:\t"<<ptr+i<<endl;cout<<"10 * ptr["<<i<<"] = "<<10*(*(ptr+i))<<endl;}return 0; }

指針數(shù)組訪問(wèn)整型數(shù)組

#include <iostream> using namespace std; int main() {//指針數(shù)組訪問(wèn)整型數(shù)組 int *ptr3[5],i,b[5]={0,1,2,3,4};for(i=0;i<5;i++){ptr3[i]=&b[i];cout<<"10 * ptr3["<<i<<"] = "<<10*(*ptr3[i])<<endl;} return 0; }

指針數(shù)組訪問(wèn)字符串?dāng)?shù)組

#include <iostream> using namespace std; int main() {//指針數(shù)組訪問(wèn)字符串?dāng)?shù)組 const char *names[4] = {"Zhangsan","Lisi","Wangwu","Chenliu"};int i; for (i = 0; i < 4; i++){cout << "Value of names[" << i << "] = ";cout << *names[i] << endl;}cout<<endl;for (i = 0; i < 4; i++){cout << "Value of names[" << i << "] = ";cout << names[i] << endl;}return 0; }

指針作為函數(shù)參數(shù)

#include <iostream> using namespace std; //指針調(diào)用 void Swap(int *a,int *b) {int temp=*a;*a=*b;*b=temp; } int main(int argc, char** argv){int a=10,b=20;cout<<"交換前:\t"<<a<<"\t"<<b<<"\n";Swap(&a,&b); cout<<"交換后:\t"<<a<<"\t"<<b<<"\n";return 0; }

指針作為函數(shù)返回值

#include <iostream> using namespace std; int * get_half() {int i;//a必須聲明為靜態(tài)變量 static int a[10];for(i=0;i<10;i++){a[i]=i/2;cout<<a[i]<<" ";}cout<<endl;return a; } int main() {int *p,i;p=get_half();cout<<endl;for(i=0;i<10;i++){cout<<*(p+i)<<" ";}cout<<endl;return 0; }

總結(jié)

以上是生活随笔為你收集整理的指针基础及实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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