读书人

关于结构体类型强制转换有关问题【求解

发布时间: 2012-06-23 14:52:43 作者: rapoo

关于结构体类型强制转换问题【求解】

问题描述很简单,但是我想不明白:
int a;
char b;
a = (int)b;
这个是合法的。

但是为什么结构体类型不合法。

struct a {
int a;
};

struct b {
int b;
};

struct a aa;
struct b bb;

aa = (struct a)bb;

为什么不合法。和int转换是一样的。求指点。。

[解决办法]
并不是所有的类型都可以互相转换, 这个没有可疑惑的.

你想要的是操作内存:

struct a aa;
struct b bb;
struct b *p = &bb;
p = (struct a*)bb;
printf("%d\n", p->a);

读书人网 >C语言

热点推荐