首先是对于一个数组赋值,若要将一个字符串赋值给一个数组,有以下几种方法:
1.char a[10]="hello";
2.char a[10]={'h','e','l','l','o','\0'};
3.char a[10];strcpy(a,'hello');
特别注意的是字符数组不能先定义之后在赋值,这样是错误的。例如:char a[10];a="hello";同时需要注意的是数组名不能改变。
另外其他的使用字符串的方法有 char *a="hello";在这里a指向一个字符串常量“hello\0";不能更改a指向的值。此时如果定义char *b="hello",那么a和b的值是相等的,都是这个字符串常量的地址值。
对于字符串,经常性的会对其使用sizeof函数和strlen函数,sizeof函数得到的值是这个字符数组的大小,例如上面的数组a,那么大小就是10。而对于strlen函数,则是从数组首地址开始,直到遇到数组中的空字符,即'\0',在对数组赋值一个字符串时,c会自动帮我们在这个数组中加上空字符,所以对于上面的数组来说,strlen(a)为5,但是数组必须至少开辟6个字节大小。因为要为空字符留下一个字节。
这时候又想到c++中为字符串创建了一个新的类型,即string。下篇文章会专门写一篇文章用来介绍string这个类型。
本文详细介绍了在C语言中如何给字符数组赋值,并对比了几种不同的方法。此外还讲解了如何使用字符串处理函数如strcpy以及如何计算字符串的长度与数组的大小。
3890

被折叠的 条评论
为什么被折叠?



