黑马程序员技术交流社区
标题:
关于C语言指针问题
[打印本页]
作者:
那个Mr_Z
时间:
2014-4-6 21:17
标题:
关于C语言指针问题
#include<stdio.h>
#define vector (int *)0x20000000
main()
{
int i;
int *addr=NULL;
addr=vector;
for(i=0;i<10;i++)
{
*addr=0x11;
addr++;
}
}
编译的时候出现错误:unhandled exception in **.exe:0xc0000005:access violation,怎么回事???
作者:
脸皮猴
时间:
2014-4-6 21:56
你的addr指向了0x20000000这个地址,你确定这个地址是可读写的吗?
指针不能乱用,一般情况下是不能直接给指针这样子赋值的。你这情况可能是你指向的地址是不可读写的内存吧
作者:
Hi围城
时间:
2014-4-6 21:58
#include<stdio.h>
#define vector (int *)0x20000000
//main() 函数类型必不可少
int main()
{
int i;
int *addr=NULL;
addr=vector;
for(i=0;i<10;i++)
{
*addr=0x11;
addr++;
}
}
// 函数类型不能少,您看看!
复制代码
作者:
Freedam
时间:
2014-4-6 23:03
我把你的代码编译了一下 在我新搭建的环境(在windows下搭建的clang编译环境 这个地址链接
http://bbs.itheima.com/forum.php ... peid%26typeid%3D353
)是可以通过的。代码的书写上是符合语法要求的。
出现unhandled exception in **.exe:0xc0000005:access violation这种错误,
一是你的程序是运行中出错的话,把我的电脑的属性高级权限改大点就行。
要是,你现在编译都过不去,我估计是你的编译环境在用这块内存或者是开的其他程序再用。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2