标题: 求教C语言指针用法,为什么第一种写法就是错的,是什么原因 [打印本页]

作者: 18936674086    时间: 2023-3-17 16:36
标题: 求教C语言指针用法,为什么第一种写法就是错的,是什么原因
有大神解答一下吗?

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

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

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

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

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

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

作者: qsssuv    时间: 2023-3-17 20:54
*str++这种写法最好不要出现,要分开两句写。有可能编译出错,不知原因
作者: ytchfp163    时间: 2023-3-17 21:36
用字符串指针,类似数组,单纯指针名是指向字符串地址,加“*”,如*str指的是字符串本身的值。用*str++是错误的,意为字符串值自增1(只有整数值及用16进制存储的地址可以)无任何意义。逐个输出字符串里每个字符,就需要用数组,str[0]是字符串首字符的地址,str[i++]就是字符串地址自增1,指向下一个字符地址;或可以用*(str++)。
作者: 51老鹰    时间: 2023-3-18 09:36
ytchfp163 发表于 2023-3-17 21:36
用字符串指针,类似数组,单纯指针名是指向字符串地址,加“*”,如*str指的是字符串本身的值。用*str++是 ...

是不是*str是指针指向的变量的值,而*str++实际上是把指针地址内存(也可以称为指针地址变量)的步长自增一,实际上指的是下一个内存地址的值
作者: 18936674086    时间: 2023-3-18 12:03
ytchfp163 发表于 2023-3-17 21:36
用字符串指针,类似数组,单纯指针名是指向字符串地址,加“*”,如*str指的是字符串本身的值。用*str++是 ...

好的,谢谢,明白了,我也找到我出错在哪了,写了两遍i++,感谢
作者: 18936674086    时间: 2023-3-18 12:03
qsssuv 发表于 2023-3-17 20:54
*str++这种写法最好不要出现,要分开两句写。有可能编译出错,不知原因

好谢谢解答




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1