读书人

关于指针的理解

发布时间: 2013-03-20 15:25:24 作者: rapoo

求助,关于指针的理解
typedef struct _TEST1
{
long a; //VC下4个字节
char b;
}TEST1,*PTEST1;

char *str=(char*)malloc(sizeof(char)*5); //申请一段缓冲区5个字节,相当于TEST1个结构体的大小
str="hello";
printf("%s\n",str);
PTEST1 pTest=(PTEST1)str; //指针类型转换
pTest->a=1; //到这里就奔溃了
pTest->b='m';
printf("%d %c\n",pTest->a,pTest->b);
关于指针的理解我总是不彻底,今天写了一段程序来测试,为什么到pTest->a=1这句就崩溃了,不可以改写吗?
求大神解答 c 指针
[解决办法]
str="hello";'这样实际修改了str的地址,应该是strcpy(str,"hello");
另外这个结构体大小是8不是5,

读书人网 >C语言

热点推荐