当前位置: 首页 > news >正文

设计的好网站泰安手机网站

设计的好网站,泰安手机网站,平面设计软件下载,响应式相册网站模板下载C语言指针易错点—字符数组与字符指针字符数组与字符指针的区别字符数组与字符指针的区别举例字符指针必须先赋值,后引用字符数组与字符指针的区别 因为字符数组与字符指针都可以表示字符串,但他们不是等价的。下面就来讲讲他们的区别。 char sa[ ] &…

C语言指针易错点—字符数组与字符指针

  • 字符数组与字符指针的区别
  • 字符数组与字符指针的区别举例
  • 字符指针必须先赋值,后引用

字符数组与字符指针的区别

因为字符数组与字符指针都可以表示字符串,但他们不是等价的。下面就来讲讲他们的区别。

char sa[ ] = "This is a string";
char *sp = "This is a string";

二者都是用字符串"This is a string"来初始化,第一个定义创建字符数组sa,它的元素依次是:‘T’ ‘h’ ‘i’ …

第二个定义创建一个指针变量sp指向 常量区字符串 “This is a string”


对于字符数组sa,系统首先为数组分配足够的内存空间,然后将"This is a string"里面的字符逐个存入数组,并加字符串结束符号’\0’

在这里插入图片描述
这就相当于 char sa[]= {'T','h',........,'\0'}这样

如果要改变数组sa所代表的字符串,只能改变数组元素的内容,如sa[0]=‘t’;
不能修改数组名以及赋值,它是常量

 

对于字符指针sp来说,这就相当于一个指针变量指向一个字符串常量 “This is a string” 的 首地址

在这里插入图片描述

如果要改变指针sp所代表的字符串,只能改变指针的值,让它指向新的字符串,不能改变其元素,如sp[0]=‘t’;非法内存访问。字符串常量”This is a string"不允许修改。

就是说字符串是常量,不能修改里面元素,可以改变指针的指向改变内容,或者使用字符串函数strcpy等


 

字符数组与字符指针的区别举例

char sa[ ] = “This is a string”;
char *sp = “This is a string”;

  • 问题1:把sa和sp中的‘T’变为’t’
    sa[0]=‘t’; //合法
    sp[0] = ‘t’; //非法内存访问。字符串常量不允许被修改
    应该用:char *sp=“this is a string”;

  • 问题2: 把字符串sa和sp的内容改为: “Hello”
    sp=“Hello”;
    sa=“Hello” // 非法,数组名是常量,不能对它赋值
    应该用:strcpy(sa,“Hello”);


 

字符指针必须先赋值,后引用

定义字符指针后,如果没有赋值,指针的值不确定,会很危险,会造成非法内存访问,形成 野指针

例如:

char *s;
scanf("%s",s); //非法内存使用

所以字符指针变量常用的方法是

  1. 指向已经存在的字符数组首地址。
  2. 指向一个动态分配的内存块

扩展练习: 判断实数相同

http://www.yayakq.cn/news/770687/

相关文章:

  • 门户网站推广方案生产做网站表带的制造厂家
  • 琴童少儿音乐创作网站建设家具品牌网站
  • 杭州网站推广技巧辽宁建设工程信息网报名步骤
  • xampp本地搭建网站电子商务网站开发设计案例—易趣网电子商务网站
  • 东莞视频课程网站建设w网站建设需求说明
  • 专门做网站的公司与外包公司没有基础学做网站
  • 新网站建设脑图网站建设需要哪种人才
  • 做调查问卷权威网站wordpress显示特效
  • 求职招聘网站排名前十名传统企业建设营销型网站
  • 湖南做网站 尖端磐石网络h5百度百科
  • 网站编程学习建网站公司郑州
  • 聊城做网站的网络公司wordpress架设服务器
  • com后缀的网站展示设计公司有哪些
  • 手机wap网站特效php网站建设考试
  • 成都区块链网站开发国外红色企业网站
  • 深圳网站营销型建设企业网站怎么做的好看
  • 公司网站翻译工作怎么做网站建设合同服务内容
  • 宁波百度网站建设凡科网登录手机端
  • 手机网站建站教育模板公司设计网站有什么好处
  • 中国移动idc建设网站重庆顶呱呱网站建设
  • 网站建设的基础服务扫一扫查价格
  • .net开发的网站有哪些辽宁建设工程信息网官网新网址
  • 做公益网站的原因微信支付公司网站
  • 营销型集团网站中国机械加工网站官网
  • 高安网站建设家私家具网上商城
  • 想找人做网站 要怎么选择天津市建行网站
  • 济南环保局官方网站cms监控软件下载官网
  • 有没有做网站的高手南宁做网站费用
  • 吕梁网站开发wordpress侧边导航主题
  • 购买一个网站域名需要多少钱招商广告