在C語言中,字符串可以被賦值給字符數組或者字符指針。
字符數組是一個固定長度的字符序列,可以通過直接賦值或通過strcpy()函數來賦值給字符串。
例如:
char str1[10] = "Hello";
char str2[10];
strcpy(str2, str1);
在這個例子中,str1是一個字符數組,可以直接賦值為 “Hello”。str2也是一個字符數組,通過strcpy()函數將str1的值復制給str2。
字符指針可以指向字符串的起始位置,可以通過直接賦值或者通過strcpy()函數來賦值給字符串。
例如:
char *str1 = "Hello";
char *str2;
str2 = str1;
在這個例子中,str1是一個字符指針,可以直接賦值為指向字符串 “Hello” 的地址。str2也是一個字符指針,將str1的值賦給str2。
需要注意的是,當使用字符指針賦值時,是將指針指向字符串的起始位置,而不是將字符串的內容復制給指針。因此,在修改str2的值時,可能會影響到str1指向的字符串。如果需要在字符指針之間進行字符串復制,同樣可以使用strcpy()函數。
總結起來,C語言中字符串的賦值規則主要是通過直接賦值或strcpy()函數來將字符串的內容賦值給字符數組或字符指針。