宏定义(#define)、内联函数、typedef的区别

首先,说说三个名词的基本概念:1、宏定义:一种简单的发生在编译之前的文本插入替换。语法: #define p_char char*注意!不需要分号标识结束2、typedef:发生在编译期间,用于定义类型别名语法:typedef char* p_char;注意!需要分号标识结束typedef可以用于各种数据结构的别名定义,但是宏定义比起typedef更容易引起危险。详见以下示例:#i...
摘要由CSDN通过智能技术生成

首先,说说三个名词的基本概念:
1、宏定义:一种简单的发生在编译之前的文本插入替换
语法: #define p_char char*
注意!不需要分号标识结束

2、typedef:发生在编译期间,用于定义类型别名
语法:typedef char* p_char;
注意!需要分号标识结束

typedef可以用于各种数据结构的别名定义,但是宏定义比起typedef更容易引起危险。详见以下示例:

#include<iostream>
#define a_char char* 
typedef char* b_char;
int main()
{
	a_char p1,p2;  //p1是个char指针,p2是个char变量
	b_char p3,p4; //p3,p4都是char指针
	return 0;
}

3、内联函数(inline)发生在编译期间
用法:inline用在定义函数时使用

inline  ret_val A
{
	...
	return ...;
}

以上代码发生在程序员想告诉编译器:我定义了返回值为ret_val的函数A!调用函数的时候不要调用它!而是插入函数体的返回值!
具体例子如下(代码转载自https://blog.csdn.net/cpongo3/article/details/93996094):


                
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值