給字元陣列賦值分兩種情況,單字元賦值和字串賦值。
單字元賦值,可透過陣列下標方式或指標方式,引用陣列元素,進行賦值,如:
char a[10];
char ch="a";
for( i=0;i
a[i]=ch+i ; //可透過陣列下標引用陣列元素,完成賦值
char *p;
for( p=a; p
*p=ch++; //透過指標對陣列相應元素賦值
字串賦值,可使用string.h標頭檔案中的字串操作函式進行賦值,如:
1
2
3
strcpy( a, "abcdefgh");
sprintf(a, "%s", "abcdefgh");
注意:陣列在定義時,可以同時進行初始化,但定義完成後,就不能按初始化的形式對其賦值了,如:
char a[10]="abcdefgh"; //這樣可以
a="abcdefgh"; //這樣是錯誤的!a是陣列名,是一個靜態資料:陣列首地址值,可以看作是個常數,不能再被改變。
給字元陣列賦值分兩種情況,單字元賦值和字串賦值。
單字元賦值,可透過陣列下標方式或指標方式,引用陣列元素,進行賦值,如:
char a[10];
char ch="a";
for( i=0;i
a[i]=ch+i ; //可透過陣列下標引用陣列元素,完成賦值
char *p;
for( p=a; p
*p=ch++; //透過指標對陣列相應元素賦值
字串賦值,可使用string.h標頭檔案中的字串操作函式進行賦值,如:
1
2
3
char a[10];
strcpy( a, "abcdefgh");
sprintf(a, "%s", "abcdefgh");
注意:陣列在定義時,可以同時進行初始化,但定義完成後,就不能按初始化的形式對其賦值了,如:
1
2
char a[10]="abcdefgh"; //這樣可以
a="abcdefgh"; //這樣是錯誤的!a是陣列名,是一個靜態資料:陣列首地址值,可以看作是個常數,不能再被改變。