《C和指針》

《C和指針》部分筆記

第一章 快速上手

1.從一個(gè)比較簡單的程序開始講解 “從標(biāo)準(zhǔn)輸入讀取文本并對(duì)其進(jìn)行修改,然后把它寫到標(biāo)準(zhǔn)輸出”

里面遇到幾個(gè)有意思的點(diǎn)

int ch;
//思考scanf的返回值
while( num < max && scanf( "%d", &columns[num] ) == 1 && columns[num] >= 0 ) 
    num += 1;
while( (ch = getchar()) != EOF && ch != '\n' )  //為何ch要聲明為整型
    ;
  • scanf函數(shù)的返回值是函數(shù)成功轉(zhuǎn)換并存儲(chǔ)與參數(shù)中的值的個(gè)數(shù)。
  • getchar函數(shù)從標(biāo)準(zhǔn)輸入讀取一個(gè)字符并返回它的值。如果輸入中不再存在任何字符,函數(shù)就會(huì)返回常量EOF,用于提示文件的結(jié)尾。
  • 為什么ch被聲明為一個(gè)整型?答案是EOF是一個(gè)整型值,它的數(shù)位比字符類型(char)要多,把ch聲明為整型可以防止從輸入讀取的字符意外地被解釋為EOF。同時(shí),也意味著接收字符的ch必須足夠大,足以容納EOF。
  • 補(bǔ)充:字符在本質(zhì)上也是整型。
  • 函數(shù)的傳值調(diào)用和傳址調(diào)用在后面的章節(jié)會(huì)講到,傳數(shù)組名其實(shí)也是傳值,因?yàn)閿?shù)組名是一個(gè)指針,所以就變成傳址了。

第二章 基本概念

1.環(huán)境:講編譯、鏈接、運(yùn)行。編譯環(huán)境、運(yùn)行環(huán)境不同,需要交叉編譯。

2.詞法規(guī)則:詞法規(guī)則就像英語中的拼寫規(guī)則,決定你在源程序中如何形成單獨(dú)的字符片段,也就是標(biāo)記(token)。C的令牌(token):可以是關(guān)鍵字、標(biāo)識(shí)符、常量、字符串值或者是一個(gè)符號(hào)。

第三章 數(shù)據(jù)

1.數(shù)據(jù)類型

graph LR
A[4種基本數(shù)據(jù)類型] --> B[整型]
A --> C[浮點(diǎn)型]
A --> D[指針]
A --> E[聚合類型]
B --> F[整型字面值]
B --> G[枚舉類型 enum聲明]
E --> H[數(shù)組 結(jié)構(gòu)等]

整型家族:9個(gè)

char、signed char、unsigned char;

short int、unsigned short int;

int、unsigned short int;

long int、unsigned long int。

字符串常量的直接值是一個(gè)指針

2.typedef:定義新類型的名字(區(qū)別#define)

typedef char *ptr_to_char; //把標(biāo)識(shí)符ptr_to_char聲明為作為字符指針類型的新名字
ptr_to_char a; //聲明a是一個(gè)指向字符的指針

3.常量 const關(guān)鍵字

int const *pt1;  //可以修改指針本身,但是不能修改指向的值
int * const pt2; //指向整型的常量指針,指針本身不能修改

4.作用域

文件作用域、函數(shù)作用域、代碼塊作用域、原型作用域

原型作用域只適用于在函數(shù)原型中聲明的參數(shù)名,就是在函數(shù)聲明的參數(shù)名。

5.鏈接屬性

6.存儲(chǔ)類型

一定要理解作用域、鏈接屬性和存儲(chǔ)類型這三者的特點(diǎn)!!

最近很忙,后續(xù)再添加吧!!

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

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

  • 第一部分、基本概念 翻譯環(huán)境與執(zhí)行環(huán)境;交叉編譯器;獨(dú)立環(huán)境 編譯、鏈接與執(zhí)行 第二部分、各重要特性 2.1 數(shù)據(jù)...
    王偵閱讀 646評(píng)論 0 0
  • strcpy: 復(fù)制字符串,char * strcpy(char _dst, char const _src);如...
    什么都值得閱讀 481評(píng)論 0 0
  • 程序示例 預(yù)處理指令 以上5行都為預(yù)處理指令。因?yàn)樗鼈兪怯深A(yù)處理器解釋的。預(yù)處理器讀入源代碼,根據(jù)預(yù)處理指令對(duì)其進(jìn)...
    大海孤了島閱讀 499評(píng)論 0 0
  • 題目來源:1、中興、華為、慧通、英華達(dá)、微軟亞洲技術(shù)中心等中外企業(yè)面試題目;2、C 語言面試寶典(林銳《高質(zhì)量編程...
    月震閱讀 2,029評(píng)論 0 1
  • 版權(quán)聲明:本文為 gfson 原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處。注:作者水平有限,文中如有不恰當(dāng)之處,請(qǐng)予以指正,萬分感謝...
    gfson閱讀 3,495評(píng)論 0 6

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