当由gcc编译然后运行时,代码
int *p; int main() {*p = 1;}
导致分段错误.
显然,p中包含的内存位置无法写入.
为什么????
另一方面,
int q[]; int main() {*q = 1;}
运行得很好.
这里发生了什么??
为什么p只包含只读内存?
c
c ×1