《c陷阱與缺陷》1~3章 讀後

 

得心應手的工具掌握起來的困難程度要大於普通工具

 

數組A[N]的下標爲0~N-1

main的返回值0,表示成功調用

 

單引號引起的 整數:整數值對應於該字符在編譯時字符集中的序列值。如‘A’

雙引號引起字符串.如“hello”

 

Ifelse配對(else總是找最近的一個if

 

聲明與定義:聲明在頭文件中,如果多個cpp用到了頭文件,編譯時重定義問題,這樣有兩個解決方法

if udefine/define或者加上聲明前加上extern關鍵詞 

指針與數組

數組只能確定該數組的大小;獲得下標爲0的元素的指針

其他操作都是指針運算

 

非數組的指針

分配字符串空間(長度爲N的字符串需要N+1的空間

char *r;

r=malloc(strlen(s)+1);

 

作爲參數的數組聲明 

字符數組,字符指針%s輸出時從當前的字符開始逐個輸入,直到遇到/0爲止)

char hello[]="hello world"; 

printf("%s/n",hello);字符串名稱

作爲參數的數組毫無意義,數組名立刻轉換爲指向該數組第一個元素的指針

char *p=hello;

printf("%s/n",&hello[0]);

printf("%s/n",p);

輸出的都是整個字符串中的東西

 

int a,b,c;
printf("please input a,b,c");
scanf("%d,%d,%d",&a,&b,&c);地址
printf("a=%d,b=%d,c=%d",a,b,c);變量

&的作用進入電影院看電影要入場券而出來不用入場券(printf都用變量名爲參數,但是在參數爲數組名時等價於傳指針

 

空指針不是空字符串

extern char p[]是空字符串

extern char *p可以指向任意字符串空間,指針要賦值

數組和循環的邊界問題

發佈了16 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章