引发了异常: 读取访问权限冲突。 p2 是 0x40

本文介绍了在VS2019中遇到的一个C语言指针错误,涉及字符数组和指针的使用。通过示例代码展示了错误的赋值方式导致的读取访问权限冲突问题,并探讨了指针大小和字符串表示的差异,最后给出了解决问题的思路。
摘要由CSDN通过智能技术生成

先赞后看  养成习惯

关注公众号:不会编程的程序圆   看更多干货

这里分享一个在vs2019下我遇到的一个报错。

这是报错的代码:

 

 

但是当我们这么改 它就可正常输出了

下面我说的问题也许不是这个错误解决的正确原因,但是这个问题足以让大家提高对指针大小的认识: 

在错误的情况下:char str2

字符串str2每一个字符大小为1个字节

在这种情况下执行下面的赋值就会有问题

char* p2 (4个字节)= str2(一个字节) 

而在char* str2的情况下str2每一个字符大小为4个字节

这么修改还是报错,说明确实不是问题,那么真正的问题是什么呢? 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值