C語言基礎(chǔ)大頭來了(指針)

C語言基礎(chǔ)

指針初講

  • 指針變量:就是一種用來存儲(chǔ)地址的變量芒划。
  • 表示方法:int *p;這里的 * 是用來代表p存儲(chǔ)的是地址拼苍。int代表將來存儲(chǔ)的是什么類型的變量的地址俊犯。
int *p=&a;

int *p;
p=&a;
int a;
int *p=&a;
*p=7;
printf("%d",a);//a=7;
**(*(&a)=7,*是指取p所指向的那個(gè)變量地址所對(duì)應(yīng)的值烂瘫。)**
int *q=&a;
*q=9;
printf("%d",a);//a=9;
  • 指針變量自身也有一個(gè)地址

  • 指向指針的指針

  • 數(shù)組與指針的關(guān)系

    • 數(shù)組的首地址就
    • 訪問一維數(shù)組第i個(gè)元素的地址
    • 數(shù)組名就是首元素的地址
    a<===>&a[0]
    a+i<===>&a[i]
    int *p=&a[0]
    
    p=&a[0]=a
    p+i=&a[i]
    *(p+i)=a[i]=p[i]
    
    int arr[5]
    int *p=arr
    數(shù)組名就相當(dāng)于首元素的地址
    1.第i個(gè)元素地址訪問方法
    p+i<===>&p[i]<===>arr+i<===>&arr[i]
    2.第i個(gè)元素?cái)?shù)值訪問方法
    *(p+i)<===>p[i]<===>*(arr+i)<===>arr[i]
    
    • arr 實(shí)際上int const - *arr;表明arr永遠(yuǎn)指向第一個(gè)元素贷祈,不能更改趋急,就是說arr++非法
    • p++合法
  • const變量:

    • 代表這個(gè)變量屬性只讀不可寫(不可改變)。
    • const變量只能在定義的時(shí)候進(jìn)行初始化
    兩種定義方式:
    const int a;
    int const a;
    
    • const使用:
    int a=9势誊;
    const int *p=&a呜达;
    int const *p=&a;
    *p=3粟耻;//會(huì)報(bào)錯(cuò)
    
    • 如果const是寫在*的左邊查近,代表這個(gè)變量將來如果用p訪問的時(shí)候,內(nèi)容只讀挤忙。
    int a=9霜威;
    int b=2;
    int *const p=&a册烈;
    p=&b;//會(huì)報(bào)錯(cuò)
    
    • 如果*寫在const右邊戈泼,代表這個(gè)指針變量的本身內(nèi)容只讀,不可更改
    const int *const p=&a赏僧;
    int a=9大猛;
    int b=2;
    p=&b;*p=3;//都會(huì)報(bào)錯(cuò)
    
    • 如果*左右都有次哈,代表const指向的內(nèi)容只讀胎署,p本身的內(nèi)容只讀。
  • 指針數(shù)組

    • 先算[],說明他是個(gè)數(shù)組窑滞,再算*,代表這個(gè)數(shù)組所有的元素都是指針琼牧。
    int a,b,c;
    int *p[3]={&a,&b,&c};
    *(p[0])=7;
    printf("a=%d\n",a);//a=7;
    
  • 多個(gè)指針變量同時(shí)賦值

 int *p, *q;
  • 指針?biāo)甲止?jié)數(shù)
    • int *,char *,在32位機(jī)占4個(gè)字節(jié),在64位機(jī)占8個(gè)字節(jié)哀卫。
    printf("int *占%ld個(gè)字節(jié)\n",sizeof(int *));
    printf("char *占%ld個(gè)字節(jié)\n",sizeof(char *));
    
  • 定義一個(gè)指針必須要給其初值
    int *p;
    *p=4;//會(huì)報(bào)錯(cuò)巨坊。
    
    int *p=NULL;
    *P=4;//就可以了。
    
  • 運(yùn)算優(yōu)先級(jí)
    • ()>單目>算數(shù)>關(guān)系>邏輯>三目>賦值>,
    • 單目>雙目>三目
    int a=(3,5);
    printf("a=%d\n");//,是從左往右算此改,結(jié)果為5.
    

//練習(xí):定義一個(gè)整型數(shù)組趾撵,使用指針去對(duì)數(shù)組進(jìn)行排序

//練習(xí):
int arr[5]={1,2,3,4,5};
請(qǐng)你將數(shù)組元素顛倒輸出,變成{5共啃,4占调,3,2移剪,1}究珊,不準(zhǔn)使用第二個(gè)數(shù)組。

//練習(xí):使用指針交換兩個(gè)變量的值

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末纵苛,一起剝皮案震驚了整個(gè)濱河市剿涮,隨后出現(xiàn)的幾起案子言津,更是在濱河造成了極大的恐慌入篮,老刑警劉巖硬纤,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異影斑,居然都是意外死亡瞬浓,警方通過查閱死者的電腦和手機(jī)初婆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瑟蜈,“玉大人烟逊,你說我怎么就攤上這事∑谈” “怎么了宪躯?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)位迂。 經(jīng)常有香客問我访雪,道長(zhǎng),這世上最難降的妖魔是什么掂林? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任臣缀,我火速辦了婚禮,結(jié)果婚禮上泻帮,老公的妹妹穿的比我還像新娘精置。我一直安慰自己,他們只是感情好锣杂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布脂倦。 她就那樣靜靜地躺著,像睡著了一般元莫。 火紅的嫁衣襯著肌膚如雪赖阻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天踱蠢,我揣著相機(jī)與錄音火欧,去河邊找鬼。 笑死茎截,一個(gè)胖子當(dāng)著我的面吹牛苇侵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播企锌,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼衅檀,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了霎俩?” 一聲冷哼從身側(cè)響起哀军,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎打却,沒想到半個(gè)月后杉适,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡柳击,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年猿推,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捌肴。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蹬叭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出状知,到底是詐尸還是另有隱情秽五,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布饥悴,位于F島的核電站坦喘,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏西设。R本人自食惡果不足惜瓣铣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贷揽。 院中可真熱鬧棠笑,春花似錦、人聲如沸禽绪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丐一。三九已至藻糖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間库车,已是汗流浹背巨柒。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留柠衍,地道東北人洋满。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像珍坊,于是被迫代替她去往敵國(guó)和親牺勾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

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

  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型阵漏。 運(yùn)用指針編程是C語言最主要的風(fēng)格之一驻民。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu)翻具; ...
    朱森閱讀 3,446評(píng)論 3 44
  • 1.語言中變量的實(shí)質(zhì) 要理解C指針,我認(rèn)為一定要理解C中“變量”的存儲(chǔ)實(shí)質(zhì)回还, 所以我就從“變量”這個(gè)東西開始講起吧...
    金巴多閱讀 1,781評(píng)論 0 9
  • 1.編譯程序(1)gcc xx.c,他會(huì)默認(rèn)生成一個(gè)a.out的可執(zhí)行文件裆泳,在a.out所在目錄,執(zhí)行./a.o...
    萌面大叔2閱讀 1,284評(píng)論 0 1
  • 第1章 第一個(gè)C程序第2章 C語言基礎(chǔ)第3章 變量和數(shù)據(jù)類型第4章 順序結(jié)構(gòu)程序設(shè)計(jì)第5章 條件結(jié)構(gòu)程序設(shè)計(jì)第6章...
    小獅子365閱讀 10,655評(píng)論 3 71
  • 1.閱讀論說性作品的三個(gè)規(guī)則 ①找出整體與部分的結(jié)構(gòu)②找出與作者的共識(shí)、主旨與論述③評(píng)論作品蝗柔,喜歡或不喜歡都要能說...
    卿東望閱讀 211評(píng)論 0 0