将表转换为结构

时间:2015-03-25 18:54:16

标签: c

我想将一个int表转换为struct

int tab[10];
struct
{
 int a;
 int b;
}maStruct;
int main()
{
 ((maStruct*)(tab))->b=(int)2;
}

这不能编译你认为错误的原因???

2 个答案:

答案 0 :(得分:0)

maStruct是变量名,而不是类型。你的意思是

typedef struct 
{
    int a;
    int b;
} maStruct;

代替?

答案 1 :(得分:0)

您应该正确定义maStruct类型,并为您的函数添加返回值。此代码编译:

int tab[10];
typedef struct maStruct
{
 int a;
 int b;
} maStruct;
int main()
{
 ((maStruct*)(tab))->b=(int)2;
 return 0;
}