字符指针变量和字符数组

举报
无敌清风蓝 发表于 2023/08/30 11:39:17 2023/08/30
540 0 0
【摘要】 字符指针变量和字符数组

1.字符指针变量和字符数组

char str[100] = “aaa”;//定义时候初始化

这样写就不行

char str[100];

str = “aaa”;

修改成这样才可以

strcpy(str, “aaa”);

但像字符指针的操作是可以的

const char * a;

a = “aaa”;

这是因为aaa是字符串常量,在内存中是有固定地址的,这行只是让字符指针a指向这个地址而已

指针变量的值是可以变的,也就是指针指向的位置可以发生改变,例如

const char*a = “I love China!”;

a = a + 7; //原来指向字符“I“,这里跳过7字节,整好指向China

printf(“%s”,a);//China!

但是数组名虽然代表数组首地址,但是其值不能改变

char a[] = “I love China!”;

a = a + 7; //这是错的,因为数组名代表的数组首地址是不能发生改变的

2.字符串

字符串表现形式可以用字符数组表示

char test1[] = “aaaa”;

char test2[] = “aaaa”;

这是两个内存

也可以用字符指针实现表示

const char * test1 = “aaaa”;

const char * test2 = “aaaa”;

这是两个指针,但aaaa只占一个内存空间

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。