请教C语言的指针问题
如果在C语言中定义了:
int a[10], *p;
那么
p=a; 和 *p=a; 它们的含义一样吗,有什么不同?
[解决办法]
p=a;//是正确的,*p=a;是错误的
[解决办法]
LZ正解
*p = a;错误的,因为p指针现在指向的内存空间不确定,望这个地址写数据可能是非法的
[解决办法]
p=a是正确的,p是一个指针,a代表数组的首地址,所以p=a是正确的;
*p并没有动态分配内存,所以*p=a会出错
发布时间: 2012-03-21 13:33:14 作者: rapoo
请教C语言的指针问题
如果在C语言中定义了:
int a[10], *p;
那么
p=a; 和 *p=a; 它们的含义一样吗,有什么不同?
[解决办法]
p=a;//是正确的,*p=a;是错误的
[解决办法]
LZ正解
*p = a;错误的,因为p指针现在指向的内存空间不确定,望这个地址写数据可能是非法的
[解决办法]
p=a是正确的,p是一个指针,a代表数组的首地址,所以p=a是正确的;
*p并没有动态分配内存,所以*p=a会出错