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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

指针基础及实例

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

指針基礎(chǔ)

指針(變量)是C/C++支持的一種變量。指針變量的值是一個地址,該地址是一個16進制的數(shù)。指針變量指向該地址所對應的變量。

指針聲明

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

指針定義

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

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

訪問單獨變量

#include <iostream> using namespace std; int main() {//聲明一個int型指針變量//如果指針沒有初始值,可以將NULL(值為0)賦給它,避免后續(xù)使用未初始化的指針 int *ptr=NULL;//聲明二級指針int **pp=&ptr;cout<<"ptr:\t"<<ptr<<endl;//指針不可指向內(nèi)存地址為0的區(qū)域,此區(qū)域為系統(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; }

訪問數(shù)組

#include <iostream> using namespace std; int main() {//指針訪問數(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移動4個字節(jié),剛好指向下一個數(shù)組成員 cout<<"ptr + "<<i<<" 的地址:\t"<<ptr+i<<endl;cout<<"10 * ptr["<<i<<"] = "<<10*(*(ptr+i))<<endl;}return 0; }

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

#include <iostream> using namespace std; int main() {//指針數(shù)組訪問整型數(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ù)組訪問字符串數(shù)組

#include <iostream> using namespace std; int main() {//指針數(shù)組訪問字符串數(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é)

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

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