首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-06-23 
关于结构体类型强制转换问题【求解】问题描述很简单,但是我想不明白:int achar ba (int)b这个是合法的。

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

问题描述很简单,但是我想不明白:
  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);

热点排行