C-typedef和#define

2019-08-05  本文已影响0人  小石头呢

一.typedef关键字

#include <stdio.h>
#include <string.h>
 
typedef struct Books{
   char  title[50];
   char  author[50];
   char  subject[100];
   int   book_id;
} Book;
 
int main( ){
   Book book;
 
   strcpy( book.title, "C 教程");
   strcpy( book.author, "Runoob"); 
   strcpy( book.subject, "编程语言");
   book.book_id = 12345;
 
   printf( "书标题 : %s\n", book.title);
   printf( "书作者 : %s\n", book.author);
   printf( "书类目 : %s\n", book.subject);
   printf( "书 ID : %d\n", book.book_id);
 
   return 0;
}

//运行结果
书标题 : C 教程
书作者 : Runoob
书类目 : 编程语言
书 ID : 12345

二.#define指令

#include <stdio.h>
 
#define TRUE  1
#define FALSE 0
 
int main( ){
   printf( "TRUE 的值: %d\n", TRUE);
   printf( "FALSE 的值: %d\n", FALSE);
 
   return 0;
}

//运行结果
TRUE 的值: 1
FALSE 的值: 0

三.typedef 与 #define 的区别

#define INTERGE int;
unsigned INTERGE n;  //没问题
typedef int INTERGE;
unsigned INTERGE n;  //错误,不能在 INTERGE 前面添加 unsigned
#define PTR_INT int *
PTR_INT p1, p2;        //p1、p2 类型不相同,宏展开后变为int *p1, p2;
typedef int * PTR_INT
PTR_INT p1, p2;        //p1、p2 类型相同,它们都是指向 int 类型的指针。
上一篇下一篇

猜你喜欢

热点阅读