typedef和#define的区别

问问题描述

typedef和#define的区别,跪求好心人,别让我孤军奋战!

答精选答案

最佳答案

区别如下:

1、typedef要写成语句的形式,即末尾要加分号(;),而#define是宏定义,末尾没有分号

2、typedef是为已经存在的数据类型起个别名,用这个别名来表示这个数据类型,如:

typedef unsigned int uInt32;

uInt32 a,b,c;//定位了3个无符号整型变量

#define是定义一个宏名来表示跟在其后面的一个字符串或者表达式,它只是作简单的字符替换,在预处理阶段

编译器会将所有的宏名用其后面的字符串或者表达式作替换,而不做任何的运算。如:

#define N 10//用N来表示常数10

#define MAX(a,b) (a>b a:b)//用带参数的宏名MAX来表示表达式(a>b a:b)。

调用的时候:

int a=3,b=4;

MAX(A,B);//等价于(a>b a:b); 因为它只是将实参传进去,然后做简单的字符替换。

本文来自作者[嘻嘻哈哈的干爹]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/653399.html

赞 (0)

发表回复

本站作者后才能评论

评论列表(4条)

  • 嘻嘻哈哈的干爹
    嘻嘻哈哈的干爹 2026年09月30日

    我是公众科技网的签约作者“嘻嘻哈哈的干爹”!

  • 嘻嘻哈哈的干爹
    嘻嘻哈哈的干爹 2026年09月30日

    希望本篇文章《typedef和#define的区别》能对你有所帮助!

  • 嘻嘻哈哈的干爹
    嘻嘻哈哈的干爹 2026年09月30日

    本站[公众科技网]内容主要涵盖:教育咨询,知识百科

  • 嘻嘻哈哈的干爹
    嘻嘻哈哈的干爹 2026年09月30日

    本文概览:区别如下:1、typedef要写成语句的形式,即末尾要加分号(;),而#define是宏定义,末尾没有分号2、typedef是为已经存在的数据类型起个别名,用这个别名来表示这个数据类型,如:typedef unsigned int uInt32;uInt32 a,b,c;//定位了3个无符号整型变量#define是定义一个宏名来表示跟在其后面的一个字符串或者表达式,它只是作简单的字符替换,在预处理阶段编译器会将所有的宏名用其后面的字符串或者表达式作替换,而不做任何的运算。如:#define N 10//用

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们