1. 程式人生 > 其它 >Typedef在C和C++中的使用

Typedef在C和C++中的使用

技術標籤: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語言的別名定義方法。小夥伴,你學會了嘛?