我在我的项目中以这种方式使用结构:

typedef struct
{
    int str1_val1;
    int str1_val2;
} struct1;


typedef struct
{
    int str2_val1;
    int str2_val2;
    struct1* str2_val3;
} struct2;

我是否有可能以某种方式修改这个定义,在代码中只使用类型,比如
struct2* a;
a = (struct2*) malloc(sizeof(struct2));

不使用关键字struct

最佳答案

是的,如下:

struct _struct1
{
...
};
typedef struct _struct1 struct1;

struct _struct2
{
...
};
typedef struct _struct2 struct2;

...

struct2 *a;
a = (struct2*)malloc(sizeof(struct2));

关于c - 结构的Typedef,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3882969/

10-11 16:46