字符串数组
字符串数组
char* s1 = "Hello world";
char s2[] = "Hello world";
s1[2] = 'E'; // 1
s2[2] = 'E'; // 2
*(s1 + 2) = 'E'; // 3
*(s2 + 2) = 'E'; // 4
上述1、3都是错误的,在c语言中的内存模型,char *s1 = "hello,world",在内存中s1指针变量存储在栈区,而“hello,world”存储在常量区,常量是不能被改变的
形参数组
形参数的数组被当作指针来处理,所以用sizeof处理是不恰当的。
sizeof只能用来处理静态数组的大小。
作者:弦断
出处:http://www.cnblogs.com/ucas/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。