c 语言字符串数组之间怎样赋值
3个回答
展开全部
给字符数组赋值分两种情况,单字符赋值和字符串赋值。
单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值,如:
char a[10];
char ch='a';
for( i=0;i<10;i++ )
a[i]=ch+i ; //可通过数组下标引用数组元素,完成赋值
char *p;
for( p=a; p<a+10; p++ )
*p=ch++; //通过指针对数组相应元素赋值
字符串赋值,可使用string.h头文件中的字符串操作函数进行赋值,如:
char a[10];
strcpy( a, "abcdefgh");
sprintf(a, "%s", "abcdefgh");
注意:数组在定义时,可以同时进行初始化,但定义完成后,就不能按初始化的形式对其赋值了,如:
char a[10]="abcdefgh"; //这样可以
a="abcdefgh"; //这样是错误的!a是数组名,是一个静态数据:数组首地址值,可以看作是个常数,不能再被改变。
单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值,如:
char a[10];
char ch='a';
for( i=0;i<10;i++ )
a[i]=ch+i ; //可通过数组下标引用数组元素,完成赋值
char *p;
for( p=a; p<a+10; p++ )
*p=ch++; //通过指针对数组相应元素赋值
字符串赋值,可使用string.h头文件中的字符串操作函数进行赋值,如:
char a[10];
strcpy( a, "abcdefgh");
sprintf(a, "%s", "abcdefgh");
注意:数组在定义时,可以同时进行初始化,但定义完成后,就不能按初始化的形式对其赋值了,如:
char a[10]="abcdefgh"; //这样可以
a="abcdefgh"; //这样是错误的!a是数组名,是一个静态数据:数组首地址值,可以看作是个常数,不能再被改变。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询