可以将字符数组的地址提供给结构指针吗?
typedef struct {
int ID;
word32 Myports;
stripports gd[256] ;
}Table;
typedef struct {
oldxmd used;
newip ip;
newxmd new;
}stripports;
char buffer1[256];
Table *tableptr = buffer1 ;
tableptr ->ID = 15 ;
tableptr ->Myports= somenumber ;
tableptr ->gd[0].used = somenumber ;
困难的部分是我无法说明为什么tableptr会接受数组起始地址!我最好的选择是上面的代码不正确或不安全。
虽然后来采用了强制转换,但为什么它接受一个数组?
Table* tableptr = (Table*)buffer1;
Table *tableptr = buffer1 ;
Table* tableptr = (Table*)buffer1;
在随后的许多测试中被替换为。
如果不进行强制转换,struct
指针可以采用新创建的指针地址以外的值struct
吗?
我在存储库中有许多作者编写的一系列测试,这确实令人困惑。