用指標遍歷字串的所有字元:
1 // 定義乙個指標p
2 char *p;
3 4 // 定義乙個陣列s存放字串
5 char s = "mj";
6 7 // 指標p指向字串的首字元'm'
8 p = s; // 或者 p = &s[0];
9 10 for (; *p != '\0'; p++)
用指標直接指向字串:
1 #include
2 3 int main()
4 其實,呼叫strlen函式時,你傳乙個位址給它就行了,它會從這個位址開始計算字元的個數,直到遇到空字元'\0'位置,
因此傳入指標變數或者陣列名都可以。
其他字串處理函式也是一樣的:
1 char *strcpy(char *, const char *); // 字串拷貝函式
2 char *strcat(char *, const char *); // 字串拼接函式
3 int strcmp(const char *, const char *); // 字串比較函式
char a = "lmj";定義的是乙個字串變數!
char *p2 = "lmj";定義的是乙個字串常量!嚴格來說,應該寫成const char *p2 = "lmj";,前面加個常量修飾符
字串和指標
1 字串反轉函式 void string reverse const char ptr,char str 2 找子串 include include include int main for i 0 i len str len ptr 1 i if i len str len ptr return ...
字串指標和字元陣列
很多剛從c 轉c 的人都不明白,在c 中這樣的 char pchar hello!定義字元指標pchar 指向乙個字元陣列首 元素即h pchar h 問題所在行 到了c 中怎麼就不行了?你翻遍參考書,都會說,pchar 指向的是常量,怎麼能允許改變呢?你又問了,怎麼我在c 中執行的好好的?沒人回答...
指標和字串常量
指標和字串常量 首先比較兩段 1char ch1 hello ch1 h ok ch1 0 h ok printf s r n ch1 2 char ch2 world ch2 w 執行時錯誤 ch2 0 w 執行時錯誤 printf s r n ch2 這裡的 world 是字串常量,而 hell...