C语言 -- 指针与字符串的使用

 /*
 定义字符串的两种方式:
 1.利用数组
 char name[] = "it";
 特点:字符串里的字符是可以修改的
 使用场合:字符串的内容需要经常修改
 
 2.利用指针
 char *name2 = "it";
 特点:字符串其实是一个常量字符串,里面的字符不能修改
 使用场合:字符串的内容不需要修改,而且这个字符经常使用
 */
 
 //字符串变量,存放在栈区
 //"it" == 'i' + 't' + '\0'
 char name[] = "it";
 name[0] = 'T';//在内存中ffc1为
 printf("name = %s\n",name);//输出结果为:name = Tt
 
 /*
  字节     数组    内容
  ffc0
  ffc1    name2    i
  ffc2    name2    t
  ffc3    name2    \0
  */
 
 //指针变量 name2 指向了字符串的首字符
 char *name2 = "it";
 //*name2 = 'T';//这种操作是错误的,运行报错
 printf("name = %s\n",name2);//

 //指针数组(字符串数组)
 char *names[5] = {"jack","rose","jake"};
 
 //二维字符数组(字符串数组)
 char names2[2][10] = {"jack","rose"};
 

补充内容:

1.栈:
存放函数内的局部变量,形参和函数返回值
2.堆:
对象
3.静态区(全局区):
4.常量区:
存放一些常量字符串,常量区的内容无法修改,而且会缓存起来,如果下次又用到了,会返回同一个常量
5.代码区

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值