首页 > 百科知识 > 正文

typedef和define的区别

摘要:typedef和#define的区别?区别如下:1、typedef要写成语句的形式,即末尾要加分号(;),而#define是宏定义,末尾没有分号2、typedef是为已经存在的数据类型起个别名,用这个别名来表示这...

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); 因为它只是将实参传进去,然后做简单的字符替换。

以上内容延伸阅读:

C语言的标点符和特殊字符的含义?

auto :声明自动变量 一般不使用

double :声明双精度变量或函数

int: 声明整型变量或函数

struct:声明结构体变量或函数

break:跳出当前循环

else :条件语句否定分支(与 if 连用)

long :声明长整型变量或函数

switch :用于开关语句

case:开关语句分支

enum :声明枚举类型

register:声明积存器变量

typedef:用以给数据类型取别名(当然还有其他作用)

char :声明字符型变量或函数

extern:声明变量是在其他文件正声明(也可以看做是引用变量)

return :子程序返回语句(可以带参数,也看不带参数)

union:声明联合数据类型

c命令的别名是什么?

#define 是 C 的预处理器指令,也称之为 C 命令,用于为各种数据类型定义别名,,与关键字 typedef 类似,但是它们有以下几点不同:

typedef 仅限于自定义数据类型标识符的别名,#define 不仅可以为数据类型定义别名,也能为实际的数值定义别名。

typedef 是由编译器处理的,#define 语句是由预处理器进行处理的。

#include <stdio.h>

/* 自定义常量 */

#define TRUE 1

#define FALSE 0

int main() {

printf( "TRUE 的值: %dn", TRUE);

printf( "FALSE 的值: %dn", FALSE);

return 0;

}

本文于2024-04-04 11:18:01发表在866l生活。本文链接:https://www.866l.com/t/16941587186876.html

相关文章

  • 黑凤蝶的生活习性

    黑凤蝶的生活习性?蝴蝶的生活习性:1、许多种类的蝴蝶是群居飞行的。2、不过,大群蝴蝶的群居飞行还是比较少的。人们能见到的蝴蝶多数是1只或者2只,最多是3~5只在一起,跳舞婚配,很难
  • 真空拔气罐器有用吗

    真空拔气罐器有用吗?回答是真空拔气罐是有用的,这里是指利用真空作用进行人体拔罐的拔气罐产品,早期人们对身体进行拔罐都是使用火罐,现在生产出一种,利用物理真空原理的拔气罐产
  • 火灾可以分为哪几类

    火灾可以分为哪几类?火灾通常可以分为以下几类:1. A类火灾:指固体物质火灾。这种物质通常具有有机物质性质,一般在燃烧时能够产生明显的灼热余烬。例如木材、纸张、布料等。2. B
  • 蒲公英哪些人不能吃

    蒲公英哪些人不能吃?蒲公英属于寒性的食物,如果饮用过量的话,容易造成腹泻的症状,所以患有肠炎的人最好不要吃蒲公英,容易造成腹泻加重。并且患有低血压的病人也是不可以吃蒲公英
  • dnf亲密度有什么

    dnf亲密度有什么?1、副职材料。目前国服刷图只能掉“魔力提取剂”,其他的东西只能用贿赂NPC了·····2、BUFF。在你和某些NPC的好感度达到“信赖”时,在保持信赖好感度的期