社区
C语言
帖子详情
*(int *)0 = 0 是什么意思
wobushiniba
2010-03-13 07:04:53
*(int *)0 = 0是什么意思啊?
...全文
1261
35
打赏
收藏
*(int *)0 = 0 是什么意思
*(int *)0 = 0是什么意思啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
35 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bobo364
2010-03-18
打赏
举报
回复
*(int *)0 = 0是什么意思啊?
向0号的内存地址空间写入一个0,这样理论上行,但目前的操作系统未必能接受
VisionCat
2010-03-18
打赏
举报
回复
向数据段地址0,写入sizeof(int)长度的0。
至于会不会出错的问题。要看具体的CPU结构和操作系统环境而定。
yzx714
2010-03-18
打赏
举报
回复
1
想得到一个段错误~
lnitcscq
2010-03-18
打赏
举报
回复
0的地址上写0,地址0是不允许访问的,程序异常。
bladesoft
2010-03-17
打赏
举报
回复
地址0是不允许被访问的,就如同给一个空指针指向的内容赋值。
AbnormalSubmarine
2010-03-17
打赏
举报
回复
现在的人月来月空虚了
暗恋天堂
2010-03-17
打赏
举报
回复
学习!
aimsam
2010-03-17
打赏
举报
回复
(int *)0这个是强制类型转换嘛,就是地址0处了。然后就是*(int *)0 = 0在地址0处的赋值,赋了个0咯。
ArthurJava
2010-03-17
打赏
举报
回复
[Quote=引用 18 楼 yuzl32 的回复:]
引用 17 楼 arthurjava 的回复:
向0地址写0,不知道做什么用
故意引发CPU异常,进入操作系统SEH处理。
[/Quote]
请教一下,在什么情况下需要引发CPU异常?
QiuTianGuiQu
2010-03-17
打赏
举报
回复
指针,好复杂呀!学习学习。。。
wo_shi_xin_shou
2010-03-17
打赏
举报
回复
菜鸟学习了
rome55
2010-03-17
打赏
举报
回复
此话才是这个问题的真谛[Quote=引用 29 楼 cobaltyoung 的回复:]
有可能是软件复位。
[/Quote]
cobaltyoung
2010-03-17
打赏
举报
回复
有可能是软件复位。
FluorecentCT
2010-03-17
打赏
举报
回复
学习了
insulted
2010-03-14
打赏
举报
回复
向12楼学习~~~
qvbnlaw
2010-03-14
打赏
举报
回复
谢谢啦!!!不过貌视没有听说过!
qvbnlaw
2010-03-14
打赏
举报
回复
这个。。要按优先性来考虑吧!!!
qingwei6
2010-03-14
打赏
举报
回复
其实真正编码的时候不必写成这样,这样写大家都难懂
AAA20090987
2010-03-14
打赏
举报
回复
菜鸟学习了。。。。。。。。。。
yuzl32
2010-03-14
打赏
举报
回复
[Quote=引用 17 楼 arthurjava 的回复:]
向0地址写0,不知道做什么用
[/Quote]
故意引发CPU异常,进入操作系统SEH处理。
加载更多回复(15)
关于
int
*p=&a与
int
*p;p=&a的解惑
在学习c语言解惑中遇到这个问题,其中对
int
*p=&a的写法百思不得其解,查了网上资料得出 这样的理解是错误的 正确理解是 一般来说*p=&a的表示方法是错的,*p=a和p=&a是正确的。2.*p=a的意思:将a的值赋给p指针指向的地址的值;3.p=&a的意思是:将a的地址赋给指针p;4.区别:*p是一个值;p是一个地址;两者完全不相同。5.*代表...
关于
int
* p,
int
*p,
int
* p = &a, *p = a的区别
一.
int
* p和
int
*p 首先这几种写法都是正确的,首先是
int
* p,
int
*p,这两个语法困扰了好久,我一直以为是C和C++指针定义上的不同,直到看到了https://www.stroustrup.com/bs_faq2.html#whitespace,这是C++本人的说明,大概信息是两者只是书写形式上的不同,表达了两种语言的强调点的不同,并没有对错之分。 C语言写者更倾向于:
int
*p,更强调语法,说明*p指向一个
int
类型 C++语言写者:
int
* p,更强调类型:p是一个指向i
C语言对
int
*a = 0理解的误区
基于我之前对char * str = "abc";的理解,str指向字符串常量“abc”,地址未知。 我把
int
*a = 1;理解成指针a指向常量1,地址未知。 其实并不是这样的。
int
*a = 1;表示指针a的地址为1,可以把它想象成
int
*a = (
int
*)0x80000000;不写强制转换符 做个试验证明一下。
int
main() {
int
*a = 1; ch...
c语言
int
*p p=null,
int
* p=NULL 与 *p=NULL 区别
1.
int
*p=NULL 与*p=NULL的区别:1)
int
* p=NULL,定义一个指针,其指向的内存保存的是
int
型的数据,同时p的值为0X00000000(即完成一次初始化);其中,p是一个指针变量,p中内存地址处的内存是p指向的内存。所以,*前面的类型只是说明内存数据的类型,不管怎么样的指针类型,大小都是4bytes;2)
int
* p;→成为野指针*p =NULL;定义一个指针,指向内存...
int
* p=new
int
[N]与
int
* p=new
int
(N)的区别
int
*p = new
int
(N); 这语句是分配一段内存,在其中以值初始化一个
int
类型对象,返回其指针给定义的p。 p所指的
int
的初值为0。
int
*p = new
int
[N]; 这语句的意思是:分配一段内存,像数组一样连续存放5个
int
对象,这些
int
是默认初始化的。对
int
类型来说,其初值是不确定的。返回第一个
int
的指针给p。 ...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章