有关结构体中的指针问题

 
#include <stdio.h>

struct S
{
	int i; 
    int *p; 
}; 

int main() 
{ 
	S s; 
	int *p = &s.i;    //p指向s的首地址 
	p[0]=4;        //处理s.i 
	printf("%d\n", s.i);
	p[1]=3;          //s.p = 3
	s.p[0] = 1;      //程序崩溃了
	s.p=p;          //s.p指向s的首地址 
	s.p[1]=1;      //s.p[1]就是s里的p,p=0x00000001 
	s.p[0]=2;        //操作0x00000001地址,代码在此处挂掉
	return 0;
} 


你可能感兴趣的:(include)