學習了關於定義結構體的方法以後產生了個疑問,請看下面倆個定義
typedef struct{
成員;
}data;
struct data{
成員;
};
第一個定義了一個新的數據類型data,第二個定義了一個名叫data的新數據類型
我搞不清這兩個定義有什麼區別。請總結這兩個定義的區別
還是有點區別的,前者如果要聲明一個結構體變量就可以直接寫成 data var;
後者要寫成 struct data var;
前者:
#include <stdio.h>
typedef struct
{
int n;
}data;
int main(void)
{
data num;
num.n = 1;
printf("%d\n",num.n);
return 0;
}
後者:
#include <stdio.h>
struct data
{
int n;
};
int main(void)
{
struct data num;
num.n = 1;
printf("%d\n",num.n);
return 0;
}