C-指針講解

指針的類型是什么:

將指針的名字去掉即可

指針指向的是什么類型:

將指針的名字以及指針左邊的*去掉

指針指向了哪里:

指針所指向的內(nèi)存區(qū)就是從指針的值所代表的那個內(nèi)存地址開始,長度為sizeof(指針所指向的類型)的一片內(nèi)存區(qū)。以后,說一個指針的值是XX,就相當于說該指針指向了以XX為首地址的一片內(nèi)存區(qū)域;我們說一個指針指向了某塊內(nèi)存區(qū)域,就相當于說該指針的值是這塊內(nèi)存區(qū)域的首地址。

int *ptr //指針的類型是int * 指針指向的類型是int
int **ptr//指針的類型是int ** 指針指向的類型是int *

Example1:

int array[20];
int *ptr = array;
//此處略去為整型數(shù)組賦值的代碼。 
for(i = 0;i<10;i++)
{
(*ptr)++;  //array的值加1
ptr++; //array的地址加1 如果是32位程序,則是加4(字節(jié)),因為地址是由字節(jié)構(gòu)成的。
} 
指針表達式:

一個表達式的最后結(jié)果如果是一個指針,那么這個表達式就叫指針表達式。

函數(shù)指針:

可以把一個指針聲明成為一個指向函數(shù)的指針
ex:

int fun(char*,int);
int (*pfun)(char*,int);
pfun = fun;
//
int a =(*pfun)("abcdefg",7);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容