结构体指针赋值的问题
struct Sample
{
int *m_time;
int m_nAge;
};
struct Sample *pSample = (Sample *)1; // 赋初值.???????
这个初值到底赋到了哪里,赋给了谁。
问题点数:20、回复次数:8Top
1 楼Leaveye(~枝)(男子无权便是钱)回复于 2004-11-04 13:48:56 得分 5
一个数字“1”,被进行类型转换后,赋给了结构指针变量 pSample 。指针变量所指向的地址空间内的数据没有任何改变。Top
2 楼cryptonym(想裸睡)回复于 2004-11-04 14:06:06 得分 0
对丫。
结构体就象一个模子,数据就像泥巴,模子套一下,泥巴就成模子的形状了。泥巴还是泥巴,只是形状变了。Top
3 楼aswear()回复于 2004-11-04 14:12:01 得分 0
我原先的理解是 struct Sample *pSample 表示pSample是指向结构体类型的指针,那么现在给他赋1或者其他整型例如23,有什么意义,或者如果给他赋数组等其他类型呢Top
4 楼picoolo1124(◎蚂蚁◎心有多大,胸就有多大)回复于 2004-11-04 14:15:07 得分 0
指针变量pSample被赋初值1Top
5 楼aswear()回复于 2004-11-04 14:39:29 得分 0
是不是pSample在内存中的内容是1,然后这个1就是一个结构体的地址。对不对?????
也就是pSample是指向结构体的指针,里面存放的是地址,现在被赋值为1,即在内存地址1中存放着一个结构体。这样到底对不对?????Top
6 楼zhangfjj(小张)回复于 2004-11-04 16:23:04 得分 15
只是指针指向了内存地址为1,且大小为sizeof(struct Sample)的内存区域,至于那里是不是一个结构体,那就不一定了。Top
7 楼zhangfjj(小张)回复于 2004-11-04 16:24:23 得分 0
如你的手(假设是指向struct Person的指针),可以指向一个活生生的人,也可以乱指一气,Top
8 楼aswear()回复于 2004-11-04 16:39:00 得分 0
好的,谢谢以上各位,结贴Top




