找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1418|回复: 5
打印 上一主题 下一主题
收起左侧

求教C语言指针用法,为什么第一种写法就是错的,是什么原因

[复制链接]
跳转到指定楼层
楼主
有大神解答一下吗?

1.png (74.23 KB, 下载次数: 48)

第一种写法,数据就是发送不出去

第一种写法,数据就是发送不出去

2.png (31.3 KB, 下载次数: 47)

第二种写法是正确的,和第一种有什么区别吗?

第二种写法是正确的,和第一种有什么区别吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:353115 发表于 2023-3-17 20:54 | 只看该作者
*str++这种写法最好不要出现,要分开两句写。有可能编译出错,不知原因
回复

使用道具 举报

板凳
ID:1056573 发表于 2023-3-17 21:36 | 只看该作者
用字符串指针,类似数组,单纯指针名是指向字符串地址,加“*”,如*str指的是字符串本身的值。用*str++是错误的,意为字符串值自增1(只有整数值及用16进制存储的地址可以)无任何意义。逐个输出字符串里每个字符,就需要用数组,str[0]是字符串首字符的地址,str[i++]就是字符串地址自增1,指向下一个字符地址;或可以用*(str++)。
回复

使用道具 举报

地板
ID:1033105 发表于 2023-3-18 09:36 | 只看该作者
ytchfp163 发表于 2023-3-17 21:36
用字符串指针,类似数组,单纯指针名是指向字符串地址,加“*”,如*str指的是字符串本身的值。用*str++是 ...

是不是*str是指针指向的变量的值,而*str++实际上是把指针地址内存(也可以称为指针地址变量)的步长自增一,实际上指的是下一个内存地址的值
回复

使用道具 举报

5#
ID:832450 发表于 2023-3-18 12:03 来自手机 | 只看该作者
ytchfp163 发表于 2023-3-17 21:36
用字符串指针,类似数组,单纯指针名是指向字符串地址,加“*”,如*str指的是字符串本身的值。用*str++是 ...

好的,谢谢,明白了,我也找到我出错在哪了,写了两遍i++,感谢
回复

使用道具 举报

6#
ID:832450 发表于 2023-3-18 12:03 来自手机 | 只看该作者
qsssuv 发表于 2023-3-17 20:54
*str++这种写法最好不要出现,要分开两句写。有可能编译出错,不知原因

好谢谢解答
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表