不要把業(yè)務(wù)模型寫到main函數(shù)里面去埂伦。
指針的輸入是指在主調(diào)函數(shù)里面分配內(nèi)存塊煞额,在被調(diào)函數(shù)里面使用。
對于字符串分配內(nèi)存有三種方式沾谜,可以在堆膊毁、棧、全局區(qū)(常量區(qū))类早、你要知道你的內(nèi)存是怎么分配的媚媒。
在編譯器中p編譯器最終編譯也為p[];
必須要分配內(nèi)存才能使用。
char p = NULL;//并沒有分配內(nèi)存不能用
在項目中一般不要修改輸入的內(nèi)存塊的值涩僻。
char *p聲明的在全局區(qū),是字符串常量栈顷,想要修改必須要
這樣聲明 char p[];才行逆日。
printf是c的函數(shù)庫,必須以0結(jié)尾才會終止萄凤。
易出現(xiàn)的問題
越界室抽。
不斷的修改指針變量的值得含義
最終應(yīng)該知道指向哪里了
void char_w (cha buf /in/)///in*/的作用是在主調(diào)函數(shù)里面分配內(nèi)存
int* const d;//常量指針
const int* d//指針常量
如果const放在指針的右邊表示const修飾d;
const放在指針的左邊表示被指向的空間不能被改變靡努。
指針是四個字節(jié)坪圾;
理解多級指針做函數(shù)參數(shù)
第一個角度:站在C/C++編譯器的角度,對形參惑朦,如果是指針類型兽泄,c編譯器只會分配四個自己的內(nèi)存。
第二個角度:我們只有在使用指針所指向的內(nèi)存空間的時候漾月,我們才去關(guān)心內(nèi)存是一維的還是二維的病梢。
strchr函數(shù)原型:extern char *strchr(const char *s,char c);查找字符串s中首次出現(xiàn)字符c的位置。
用二級指針(通常是形參)去修改1接指針(通常是實參)的值
相當于在被調(diào)用函數(shù)里面分配內(nèi)存梁肿,把結(jié)果給傳出來蜓陌。
char buf[10]
buf 是const類型的指針。