程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> C語言學習入門 (九) typedef 關鍵字

C語言學習入門 (九) typedef 關鍵字

編輯:關於C

關鍵字:typedef

用法:為各種數據類型定義一個新名字(別名)


typedef與基本數據類型

typedef int Integer;Integer a= 8;

也可以在別名的基礎上再起一個別名

typedef Integer MyInteger;MyInteger a = 8;

原來的數據類型也可以正常使用

typedef與指針

typedef char *String;String str = “jackie”;

typedef與結構體

typedefstructPerson Per;// 這樣在定義結構體變量時 就不用帶上struct 關鍵字了

Per p; p.name = “xyz”;

定義並取別名:

typedefstruct Student// 結構體名 Student 可以省略

{

int age;

} Stu;


void processStudent()

{

Stu student = {18};

student.age =19;

}

typedef與指向結構體的指針

typedef struct

{

int age;

} Stu;

Stu stu = {20};

typedef Stu *S;//指向結構體的指針 取別名 S

S s = &stu;


typedef struct LNode

{

int data;

struct LNode *next;

} LinkList, *SList;

int main(int argc, const char * argv[])

{

LinkList l = {1, NULL};

LinkList ll = {2, NULL};

l.next = ≪

printf("%d, ", l.next->data);

SList sl = ≪

if (sl->next != NULL)

printf("%d, ", sl->data);

return 0;

}


typedef與枚舉類型

typedef enum

{

} Season;

//用法與結構體類似

typedef與指向函數的指針

int sum(int a, int b)

{

return a + b;

}

void main()

{

typedef int (*P)(int a, int b);

P p = sum;

int result = (*p)(3, 5);

return 0;

typedef與#define

typedef char *String;

String s = “abc”

#define String char *;

String s = “abc”; //這樣使用效果一樣

當 這樣使用:

String s1,s2; //用第一種替換: char *s1, char *s2;

String s3,s4; //用第二種替換: char * s3, s4; <==> char *s3, char s4;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved