C專家程式設計 讀書筆記1

2021-06-28 15:54:06 字數 864 閱讀 4829

1. 早期的c 1972-3

k&r c   1976-9

ansi c   1983-9 (ansi 美國國家標準化組織)

2.const的使用:

const int limit = 10;

const int *limitp = &limit;

int i = 15;

limitp = &i;

printf("%d\n", *limitp);

以上程式,輸出結果為15。

limitp是乙個指向常量整型的指標,這個指標不能用於修改這個整型數,但是在任何時候,這個指標本身的值卻是可以改變的!

const作為限定符,只表示不能被賦值,也就是說它的值對於這個符號來說是唯讀的。const可以用來限定函式的形參,這樣該函式將不會修改實參指標所指的資料,但其他的函式卻可能會修改它。

3.不要僅僅因為無符號數不產生負值(如年齡、國債)而用它來表示數量;

例子:#define total_num  ( sizeof(array) / sizeof(array[0]) )

int d = -1;

if(d <= total_num)

。。。else

***本例,會執行else的判斷,因為d會被轉換為無符號型別

4. 限定符問題

char *cp;

const char *ccp;

ccp = cp;

規定:賦值如果要合法,必須滿足二者之一:

1. 兩個運算元都是指向有限定福或無限定符的相容型別的指標;

2. 左邊指標所指向的型別必須具有右邊指標所指向型別的全部限定符;

本例:左運算元所指向的型別具有右運算元所指向的型別的限定符(無),但是反過來就不能賦值

《C專家程式設計》讀書筆記(1)

早期的unix系統並不是用c語言寫的,unix的出現要比c語言早。組合語言編寫的unix很笨拙,編寫資料結構時浪費大量時間,且系統難以除錯,理解困難。thompson 貝爾實驗室的研究人員 利用高階語言的特點 對比組合語言的缺點 但又不想執行效率底下,嘗試用fortran進行一番簡短而又不成功的嘗試...

《C 專家程式設計》讀書筆記

前言 程式設計挑戰 計算機日期 第二章 這不是bug,而是語言特徵 switch的乙個bug break中斷了什麼 第三章 分析c語言宣告 程式設計挑戰 把c 語言的宣告翻譯成通俗的語言 include include include include define max len 100 enum ...

《C專家程式設計》讀書筆記

第一章 const float 表示乙個指向float型別常量的指標 第二章 1.在c語言中const並非真正表示 常量 在陣列定義與case中不可以使用 2.case的一些問題 2 3 main 15 這段 列印出來的是 3.函式可見性 void sb any where 2 extern voi...