0
点赞
收藏
分享

微信扫一扫

SpringBoot+vue实现右侧登录昵称展示

一、问题

        ⼀个32 位的机器,该机器的指针是多少位?

二、解答

        本问题考查的是对指针的理解,要清楚地了解指针,就要弄清楚指针与地址之间的关系。指针也属于⼀种数据类型,系统为指针变量分配⼀定的内存空间,⽤于存储指针指向的地址。请看下⾯的代码 sizeof(p)的结果是多少。

char *p = malloc(100);    /*申请空间*/
sizeof(p)=?

        在 32 位机器中得到的结果是 4 。因为⽆论指针变量指向何种类型的数据,指针变量的长度⼀般就是⼀个机器的字长。

        指针变量的位数根据机器地址总线位数⽽定,对于 32 位地址总线的机器指针的位数就是4个字节。如果是16 位系统那将不是这个答案,是多少?2个字节。

三、总结

        指针给编写程序提供了⼀个⾮常有⽤的⼯具,⽽且指针对有些程序来说是必不可少的,但是往往会由于⼀些疏忽⽽产⽣错误。

        在读操作中,错误的指针只是得到⼀些⽆⽤的存储内容。但在写操作中,可能将它错误地写到代码段或数据段。最关键的是这种错误只有在运⾏程序后才能表现出来。由于误⽤指针可能会造成严重的破坏,因此在使⽤时,⼀定要慎重地考虑,避免出现错误。

举报

相关推荐

springboot+vue实现分片上传

0 条评论