(舊)C語言--指針

一辅辩、什么是指針难礼?

指針在百度的解釋:是編程語言中的一個(gè)對(duì)象,利用地址玫锋,它的值直接指向(points to)存在電腦存儲(chǔ)器中另一個(gè)地方的值蛾茉。

也就是說,指針是用于指向某一內(nèi)存單元撩鹿。

簡而化之谦炬,指針便是地址


二节沦、聲明指針

1.方法:數(shù)據(jù)類型 *名稱 初始化

2.例如:

int *p=&a //其中int是數(shù)據(jù)類型键思,p是指針變量的名稱,=&a是對(duì)指針變量p的初始化

3.注意:指針聲明完一定要初始化甫贯,否則就會(huì)變成野指針(沒有指向的目標(biāo))吼鳞;而且指針初始化時(shí)只能指向地址,不能指向數(shù)據(jù)(在*與&中會(huì)講到)叫搁。


三赔桌、使用指針

指針也是一種變量,對(duì)于指針的使用方法和對(duì)其他變量的用法一致常熙。

野指針和空指針不同纬乍,如果對(duì)野指針進(jìn)行使用碱茁,程序?qū)?huì)報(bào)錯(cuò)裸卫。


四、*和&

1.*:有兩個(gè)作用纽竣,一是在聲明變量是墓贿,用來標(biāo)識(shí)這個(gè)變量是指針變量茧泪;二是在其他地方作用于指針時(shí),代表取值聋袋,即p就取指針p所指向的值队伟。

在是聲明時(shí),作聲明符幽勒,是一種作用嗜侮;在其他地方作用于指針時(shí),做單目運(yùn)算符啥容,又是另一種作用锈颗;還有一種情況,表示雙目運(yùn)算符咪惠,即為乘積的意思击吱,如5*5=25)

2.&:是取地址運(yùn)算符,例如&a遥昧,就是變量a的地址覆醇。


五、一個(gè)案例看懂指針

#include<stdio.h>
int main(void)
{ int a=10;                    //聲明一個(gè)變量a炭臭,它的值為10
    int *p=&a;                   //聲明一個(gè)指針變量p永脓,它的值為變量a的地址
    printf("a的值為%d\n",a);     //輸出a
    printf("a的值為%d\n",*p);    //輸出p所指向的值
    printf("a的地址為%d\n",p);   //輸出a的地址
    printf("a的地址為%d\n",&a);  //輸出p的值
    return 0;
}

六、空指針

1.作用:聲明一個(gè)指針后鞋仍,如果暫不使用憨奸,可以先給它賦值為NULL,避免其成為野指針凿试。

2.方法:指針名=(數(shù)據(jù)類型*)malloc(你分配的內(nèi)存大小)

3.例如:

int *p;
p=(int*)malloc(4);//分配動(dòng)態(tài)內(nèi)存

4.注意:malloc的數(shù)據(jù)類型要和指針的數(shù)據(jù)類型一致排宰;

內(nèi)存分配后,習(xí)慣上都會(huì)進(jìn)行判斷是否分配成功那婉,不成功則退出程序板甘;

內(nèi)存分配使用完之后一定要釋放掉,free是釋放函數(shù)详炬,所以malloc和free必須是成對(duì)出現(xiàn)的盐类。

5.案例:

#include<stdio.h> #include<stdlib.h> //malloc函數(shù)和free函數(shù)存儲(chǔ)在stdiib.h這個(gè)函數(shù)庫里
int main(void)
{ int *p;
    p=(int*)malloc(4);//分配動(dòng)態(tài)內(nèi)存
    if(p==NULL)
    {
        printf("內(nèi)存分配失敗。\n");
        exit(-1);//退出
 } *p=100;
    printf("p指針中的內(nèi)容=%d\n",*p); free(p);//內(nèi)存釋放
    return 0;
}

七呛谜、雙級(jí)指針

雙級(jí)指針就是指向指針的指針在跳,即:

int*p1=&a; //指針p1指向a的地址
int*p2=p1; //指針p2指向p1</pre>

例如:

#include<stdio.h>
int main(void)
{ int a=1; int *p1=&a; int *p2=p1;
    printf("%d\n",*p2); //輸出指針p2所指向的指針p1所指向的變量a的值 return 0;
}

八、番外

注意看上一個(gè)案例隐岛,如果我們把p=(int)malloc(4)改為2猫妙,就會(huì)報(bào)錯(cuò),如下圖(這被稱為內(nèi)存越界*)聚凹。

這是為什么呢割坠,這就關(guān)乎到數(shù)據(jù)長度的問題了齐帚,因?yàn)樵赩C6.0出生時(shí),系統(tǒng)和CPU發(fā)展到32位彼哼,所以VC6.0是32位的編譯器对妄,在VC6.0中,int的數(shù)據(jù)長度為32/8=4字節(jié)敢朱;

而TC2.0出生時(shí)剪菱,系統(tǒng)和CPU還停留在16位,所以TC2.0是16位的編譯器拴签,在TC2.0中琅豆,int的數(shù)據(jù)長度為16/8=2字節(jié)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末篓吁,一起剝皮案震驚了整個(gè)濱河市茫因,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌杖剪,老刑警劉巖冻押,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異盛嘿,居然都是意外死亡洛巢,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門次兆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稿茉,“玉大人,你說我怎么就攤上這事芥炭±炜猓” “怎么了?”我有些...
    開封第一講書人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵园蝠,是天一觀的道長渺蒿。 經(jīng)常有香客問我,道長彪薛,這世上最難降的妖魔是什么茂装? 我笑而不...
    開封第一講書人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮善延,結(jié)果婚禮上少态,老公的妹妹穿的比我還像新娘。我一直安慰自己易遣,他們只是感情好彼妻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著训挡,像睡著了一般澳骤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上澜薄,一...
    開封第一講書人閱讀 51,245評(píng)論 1 299
  • 那天为肮,我揣著相機(jī)與錄音,去河邊找鬼肤京。 笑死颊艳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的忘分。 我是一名探鬼主播棋枕,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼妒峦!你這毒婦竟也來了重斑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤肯骇,失蹤者是張志新(化名)和其女友劉穎窥浪,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體笛丙,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡漾脂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胚鸯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骨稿。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖姜钳,靈堂內(nèi)的尸體忽然破棺而出坦冠,到底是詐尸還是另有隱情,我是刑警寧澤哥桥,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布蓝牲,位于F島的核電站,受9級(jí)特大地震影響泰讽,放射性物質(zhì)發(fā)生泄漏例衍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一已卸、第九天 我趴在偏房一處隱蔽的房頂上張望佛玄。 院中可真熱鬧,春花似錦累澡、人聲如沸梦抢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奥吩。三九已至哼蛆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間霞赫,已是汗流浹背腮介。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留端衰,地道東北人叠洗。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像旅东,于是被迫代替她去往敵國和親灭抑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型抵代。 運(yùn)用指針編程是C語言最主要的風(fēng)格之一腾节。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,440評(píng)論 3 44
  • 多線程荤牍、特別是NSOperation 和 GCD 的內(nèi)部原理禀倔。運(yùn)行時(shí)機(jī)制的原理和運(yùn)用場景。SDWebImage的原...
    LZM輪回閱讀 2,007評(píng)論 0 12
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時(shí)...
    歐辰_OSR閱讀 29,373評(píng)論 8 265
  • InitializingBean顧名思義参淫,應(yīng)該是初始化Bean相關(guān)的接口救湖。先看一下該接口都定義了哪些方法: 看方法...
    一滴水的堅(jiān)持閱讀 15,718評(píng)論 0 5
  • 1.關(guān)注領(lǐng)先指標(biāo) 看有哪些東西是領(lǐng)跑的位置,在自己關(guān)心的范圍內(nèi)涎才,及時(shí)關(guān)注領(lǐng)頭羊鞋既,隨機(jī)而動(dòng)。 2.只要買的足夠便宜 ...
    fish__dora閱讀 202評(píng)論 0 0