www问答网
所有问题
当前搜索:
C语言带参数的宏替换
C语言
问题
答:
宏
定义一般是定义一些需要统一修改的表达式或常量。比如,你程序中需要用到PI=3.1415,那么你将派定义成常量#define PI 3.1415,在程序中就不写3.1415了而写PI即可,编译器自动会帮你
替换
;
有
一天,你觉得这个定义精度需要调整,比如PI=3.1415926会比较好,那么你只需要修改宏定义一处,程序中用到PI...
#define N 5是什么意思?
答:
是
C语言中的宏
定义,让N的值固定为5,在程序别处无法更改,且全局可以使用此变量。无
参数宏
定义的格式为:#define 标识符
替换
列表 替换列表可以是数值常量、字符常量、字符串常量等,故可以把宏定义理解为使用标识符表示一常量,或称符号常量。
详解宏定义(#define)
答:
在
C语言中
,“宏”分为两种:无参数和
有参数
。 无参宏是指宏名之后不
带参数
,上面最简单
的宏
就是无参宏。#define M 5//宏定义#define PI 3.14//宏定义int a[M];//会被
替换
为:int a[5];int b=M;// 会被替换为:int b =5;printf("PI= %.2f\n", PI);//输出结果为:PI=3.14 注意宏不是语句...
c语言的
_##name意思?
答:
1) 在第一个宏定义中,”name”和第一个”_”之间,以及第2个”_”和第二个 ”type”之间没
有
被分隔,所以预处理器会把name_##type##_type解释成3段:“name_”、“type”、以及“_type”,这中间只有“type”是在宏前面出现过 的,所以它可以被
宏替换
。2) 而在第二个宏定义中,“name...
&
宏代换
函数怎么用
答:
宏代换
函数的使用 格式:&<字符型内存变量>[.<字符表达式>]功能:以字符型内存变量的“值”代替字符型 内存变量的“名”。给字符型内存变量的值去掉一次引号 例1:STORE ‘GZ.DBF’ TO X USE &X --->USE GZ.DBF 例2:H=’GZ’USE &H..DBF --->USE GZ.DBF 例3:X=”&X”? &X -...
在
C语言中
宏
定义是什么?
答:
在
C语言
源程序中,允许用一个标识符来表示一个字符串,称为宏,宏定义是由源程序中
的宏
定义命令完成的,
宏替换
是由预处理程序自动完成的。宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译。
C语言中宏替换
占不占用运行时间
答:
宏替换
不占用运行时间。宏替换是在编译时,编译器完成的。占用编译时间。编译时,编译器会将代码中
的宏
用对应定义好的代码进行直接替换,然后再对源代码进行编译。所以宏比函数在运行时更快,因为它不用像函数调用时,要对现有数据进行入栈保存,运行完后,在出栈恢复;它是直接编译好的代码。
C语言中
,
宏
名
有
类型吗?
答:
C语言中
,宏名没有类型,其
参数
也没有类型。宏不存在类型问题,宏名无类型,它的参数也无类型,只是一个符号代表,展开时代入指定的字符串即可。宏定义时,字符串可以是任意类型的数据。在编译预处理时,对程序中所有出现
的宏
名,都用宏定义中的字符串去
代换
。
带参数的宏
及其参数在没有指定类型时,是默认为int型吗?
答:
是的。
带参数的宏
及其参数在没有指定类型时,默认为int型。程序中用的最多是一般整数类型(简称“整数类型”或“整型”)和长整数类型(简称“长整型”),整数类型的类型名是“int”,长整型的类型名为“long int”,可简写为“long”,int和long都是关键字。
C语言中
,
宏
的运用,和指针作为函数
参数的
运用,两者
有
何区别。
答:
宏的作用主要
有
:宏定义和
宏替换
。宏定义主要是定义一些
参数
,提供编译程序识别使用,实现条件编译,以屏蔽实现多平台差异、实现调试版和发行版等功能。宏定义可以简单的理解成字符替换,便于程序的编写和修改,如程序要多次取两个数中的教大值,可以定义宏:define max(a,b) ((a)>(b)?(a):(b),...
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜