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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

C - 指针总结

發布時間:2023/12/2 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C - 指针总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

指針是什么?

指針是一變量或函數的內存地址,是一個無符號整數,它是以系統尋址范圍為取值范圍,32位,4字節。

?

指針變量:

存放地址的變量。在C 中,指針變量只有有了明確的指向才有意義。

?

指針類型

int*?ptr;?//?指向int類型的指針變量char*?ptr;float*?ptr;

指針的指針:

char*?a[]={"hello","the","world"};char**?p=a;p ;cout?<<?*p?<<?endl;?//?Output?'the'.

函數指針:

指向某一函數的指針,可以通過調用該指針來調用函數。

例子:

#include?#include?#include?#include?using?namespace?std;int?max(int?a,?int?b){ return?a?>?b???a?:?b;}int?main(int?argc,?char*?argv[]){ int?a?=?2,?b?=?6,?c?=?3; int?max(int,?int); int?(*f)(int,?int)?=?&max; cout?<<?(*f)((*f)(a,b),c); return?0;}//?Output:/*6*/

?

指針數組:

指向某種類型的一組指針(每個數組變量里面存放的是地址)。

int*?ptr[10];

?

數組指針:

指向某種類型數組的一個指針。

int?v[2][10]?=?{{1,2,3,4,5,6,7,8,9,10},?{11,12,13,14,15,16,17,18,19,20}};int?(*a)[10]?=?v; //?數組指針cout?<<?**a?<<?endl; //?輸出1cout?<<?**(a 1)?<<?endl; //?輸出11cout?<<?*(*a 1)?<<?endl; //?輸出2cout?<<?*(a[0] 1)?<<?endl; //?輸出2cout?<<?*(a[1] 1)?<<?endl; //?輸出12cout?<<?a[0]?<<?endl; //?輸出v[0]首地址cout?<<?a[1]?<<?endl; //?輸出v[1]首地址

?

int* p與(int*) p的區別

int*?p;?//?p是指向整型的指針變量(int*)?p;?//?將p類型強制轉換為指向整型的指針

?

數組名相當于指針,&數組名相當于雙指針

?

char* str="helloworld"與char str[]="helloworld"的區別

char*?str?=?"helloworld";?//?分配全局數組,共享存儲區char?str[]?=?"helloworld";?//?分配局部數組

總結

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

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