字符数组为内存中一段空间,可以在该空间中存储字符对象,char[]="aabc“即为在内存中存储了'a','a','b','c','\0'5个字符,如果要将该5个字符赋给其他变量的话,如果另一变量为char类型指针,可以使用strcpy()函数进行复制:
char* pstr;
strcpy(pstr,char);
如果另一变量为char类型数组,可以依次进行循环赋值:
char b[5];
for(size_t i=0;i
b[i]=char[i];
}
当然,数组名即为数组首字符的指针,所以第二种方法也可以采用strcpy()函数来完成!
/*
那就用下标来循环。逐个元素赋值。
或者用strcpy函数和memcpy函数
*/
#include
#include
int main()
{
char a[]="abcd";
char b[10],c[10],d[10];
int i;
/*方法一,循环赋值*/
for(i=0;a[i]!='\0';i++)
{
b[i] = a[i];
}
b[i] = '\0';
/*方法二,复制字符串*/
strcpy(c,a);
/*方法二,复制内存*/
memcpy(d,a,sizeof(a));
/*输出测试 */
puts(a);
puts(b);
puts(c);
puts(d);
getchar();
return 0;
}
int sum=sizeof(char);
sum就是char的值了
某字符数组的值
是指什么值?