0
点赞
收藏
分享

微信扫一扫

C语言中字符串各存储方式区别详解


在C语言中,存储字符串我们有两种典型的方式:指针和字符数组

  • 指针方式
char *s1 = "hello";
  • 数组方式
char s2[] = "hello";

两种方式的数据在内存上的分布

  • 指针方式

C语言中字符串各存储方式区别详解_数组

  • 数组方式

C语言中字符串各存储方式区别详解_数据_02

对应现象

  1. 指针方式定义的数组不能修改具体哪个字符,但是能够改变指针指向。
  2. 数组方式不能改变指向,但是能够修改具体哪个字符。

代码示例

  • 指针方式
int main()
{
char *s2 = "hello";
printf("修改前: %s\n", s2);
s2 = "world";
printf("修改后: %s\n", s2);

return 0;
}

C语言中字符串各存储方式区别详解_c语言_03

  • 数组方式
int main()
{
char s1[6] = "hello";
printf("修改前: %c\n", s1[0]);
s1[0] = 'w';
printf("修改后: %c\n", s1[0]);

return 0;
}

C语言中字符串各存储方式区别详解_开发语言_04


举报

相关推荐

0 条评论