码迷,mamicode.com
首页 > 编程语言 > 详细

字符数组和字符指针用法的区别

时间:2020-02-23 09:36:06      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:表达   span   tchar   字符数组   表达式   hello   strong   color   写法   

字符指针 char *p,只可接收已知的字符串字面量

字符数组 char a[100],可接收已知或未知的字符串。

原理:字符指针只能存储一个字符类型的地址,而字符串字面量表达式的返回值是:首元素首地址,所以字符指针可以获得该首地址,并且可以通过指针读取该字符串,但不能修改,因为字符串字面量都保存在只读内存区域内,不可修改。

char *p="hello";
putchar(p);  //返回‘h‘
puts(p); //返回整个字符串“hello”
putchar(p[2]);  //返回’l‘
p[2]=w;  //错误,不可修改
char *p1;
scanf("%s",p1); //错误p1没有指定可以空间

char型数组,是分配了相应空间的,所以可以读取,写入字符串。

char a[10],b[5][10];
scanf(" %s",a);
for(int i=0;i<5;i++){
    scanf(" %s",b[i]);   //b[i]是第i行的首元素首地址
}
char c[10]="hello";

以上写法对于字符数组都是合法的。

 

字符数组和字符指针用法的区别

标签:表达   span   tchar   字符数组   表达式   hello   strong   color   写法   

原文地址:https://www.cnblogs.com/litifeng/p/12348461.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!