-----------------以下節錄網路範例------------------
int main() {
char *p = "abc"; // 指標宣告, "abc"這個陣列會放在記憶體的"常數區塊",不允許被修改
char q[] = {'a','b','c',0}; // 陣列宣告,同時給予初始值
char r[] = "abc"; // 陣列宣告, 此空間就放在堆疊上
q[0] = '!'; // q字串變成 "!bc"
r[0] = '!'; // r字串變成 "!bc"
*p = '!'; // 這在Unix系統上會造成Segmentation fault (core dumped)
}--------------------------------------------------------------由於C語言對於字串的定義是結尾為0的字元陣列
在處裡的時候要小心輸入溢位的問題
最簡單防止溢位的方法就是告訴 scanf 可輸入的上限
如:
main() {
char[5] str_array;
printf("請輸入小於5個字數:");
scanf("%4s", str_array);
printf("str_array = %s\n", str_array);}
字串的一些可用函式
字串長度
int strlen(char s[])
字串複製
void strcpy(char d[], char s[]) //把s的內容給d字串相加
void strcat(char *s1, char *s2) //把s1的內容後面加上S2 並存入s1
沒有留言:
張貼留言