《C和指標》讀書筆記(二)

2021-07-10 19:19:47 字數 1439 閱讀 6545

c語言中,僅有4種基本資料型別-整形,浮點型,指標和聚合型別(陣列和結構)

short int 至少16位,long int 至少32位

標頭檔案 limits.h說明了各種不同的整型型別的特點

常量不能修改但是可以通過

char *message="hello world" < => char *message; message="hello world";

int const a;<=> const int a;

//看上去是將初始值賦給*message,其實是賦值給message本身

char *message = "hello world" ;

typedef

char *ptr_to_char;

ptr_to_char a; //a是乙個指向字元的指標

//typedef 與#define相比,typedef可以處理指標型別的宣告

const

int a1 = 0;

intconst a2 = 1;

int *pi;//pi->指向整形的指標

intconst *pci;//指向整形常量的指標,可修改指標的值,不可以修改它所指向的值

int *const cpi=0;//指向整形的常量指標,此時指標是常量,它的值無法修改,可修改它指向的整形值

//左定值(指標指向的值不可修改),右定向(指標不可修改)

int a = 248, b = 4;

intconst c = 21;

const

int *d = &a;

int * const e = &b;

intconst * const f = &a;

//c = 32;

//*d = 43;

//e = &a;

//f = 0x321f;

//d = &b;

四種不同的作用域:檔案作用域,函式作用域,**塊作用域,原型作用域

**塊作用域: 一對花括號之間{},內層**塊作用域會隱藏同名的外層的識別符號

檔案作用域: 任何在**塊作用域之外的都成為檔案作用域

原型作用域:只適用於函式原型宣告的引數名

函式作用域:只適用於語句標籤,語句標籤用於goto語句(乙個函式中,所有語句標籤必須一致),盡量不用

連線屬性:external(外部) internal (內部) none(無)

函式的形參不能宣告為static,因為實參要在堆疊中傳遞給函式,用於支援遞迴

具有external連線屬性的實體在所有檔案的所有實體中,都可以訪問,只要變數並非宣告於**塊或

函式定義內部,他在預設的情況下連線屬性都是external,

具有external連線屬性的實體總有靜態儲存型別

C和C指標讀書筆記

1.c中變數的儲存型別 儲存型別分為靜態儲存 普通記憶體 堆疊,暫存器自動變數即 塊內部的變數儲存於堆疊,其他變數儲存於普通記憶體即靜態儲存,如果頻繁訪問乙個變數,宣告為暫存器型別後儲存於硬體暫存器中。2.c中實體的鏈結屬性 1 屬於internal鏈結屬性的識別符號在同乙個原始檔內的所有宣告中都指...

《C和指標》讀書筆記 6

宣告 該讀書筆記摘抄自 c和指標 kenneth a.reek 著 徐波 譯 為了克服自己走馬觀花,提高閱讀和學習效率,決定將自己在讀書過程中遇到的一些知識點加以摘抄和總結備忘,在此感謝原書作者和翻譯。一 遞迴的兩個特性 1 存在限制條件 2 每次遞迴之後越來越接近限制條件 二 將二進位制數字轉換為...

《C和指標》讀書筆記 7

宣告 該讀書筆記摘抄自 c和指標 kenneth a.reek 著 徐波 譯 為了克服自己走馬觀花,提高閱讀和學習效率,決定將自己在讀書過程中遇到的一些知識點加以摘抄和總結備忘,在此感謝原書作者和翻譯。一 陣列名 1 乙個誤區 陣列名並不表示整個陣列,它大多時候只是乙個指標常量,指向陣列的第乙個元素...