Typedef在C和C++中的使用
阿新 • • 發佈:2021-01-05
技術標籤:C/C++
typedef關鍵字用於給變數起一個別名,今天讓我來看下一如何利用typedef關鍵字,在c和c++中給結構起一個別名。下面片段是c語言中的寫法。可見在c中給結構體起的別名在結構最後,在main函式中的person p1和我們最原始的寫法 struct Person p1等效。
#include <stdio.h>
typedef struct Person
{
char* name;
int age;
int salary;
} person;
int main(void)
{
person p1;
p1.name = "daniel" ;
p1.age = 18;
p1.salary = 10000;
printf("name:%s\tage=%d\tsalary=%d", p1.name, p1.age, p1.salary);
return 0;
}
上述程式的執行結果為:
name:daniel age=18 salary=10000
在c++中typedef的使用方法可以有所不同,c++實現相同的功能程式碼如下所示。即無需再結構體的最後再新增別名,
#include <iostream>
#include <string>
using namespace std;
typedef struct Person
{
string name;
int age;
int salary;
};
int main()
{
Person p1;
p1.name = "daniel";
p1.age = 18;
p1.salary = 10000;
cout << "name=" << p1.name << "\t" << "age=" << p1.age << "\t" << "salary=" << p1.salary << endl;
}
執行結果如下:
name=daniel age=18 salary=10000
在最後,筆者測試了一下,在C語言中無法使用上文所述的C++語言的結構體別名定義方法;但是C++中支援C語言的別名定義方法。小夥伴,你學會了嘛?