C语言中,宏的运用,和指针作为函数参数的运用,两者有何区别。

作者&投稿:程温 (若有异议请与网页底部的电邮联系)
C语言中,用指针做函数的参数,和直接使用函数指针有什么区别?如果一样或差不多的话,哪个更好些?~

你上面那一段话,对于初学者来说确实坑爹,说的像什么官方话语,我看着也就只能理解个模糊大概。先给你举个例子吧,函数指针的写法int*p;inta;p=&a;//这是一般整型指针#includeusingnamespacestd;intarr(inta,intb){return0;}//比如说是函数1intbrr(inta,intb){return1;}//比如说是函数2intmain(){int(*frr)(int,int);//这里就是函数指针frr=arr;//它可以指向arrcout<

在函数声明和定义时Fun(int p1,int p2)是不是表示它的参数是两个int型的整数。Fun(int* p1,int* p2)则使表示它的参数是两个指针类型的。定义和声明时的变量只是代替符,其它的运算符号与类型符号加起来才是参数类型。你如果觉得不好理解,那么在写的时候就把int 和*放在一起(int*),这就是参数类型。

宏的作用主要有:宏定义和宏替换。宏定义主要是定义一些参数,提供编译程序识别使用,实现条件编译,以屏蔽实现多平台差异、实现调试版和发行版等功能。宏定义可以简单的理解成字符替换,便于程序的编写和修改,如程序要多次取两个数中的教大值,可以定义宏:
#define max(a,b) ((a)>(b)?(a):(b),语句 c = a > b? a, b,就可以使用 c = max(a,b)。
又如,程序要多次使用 3.141592653,可以定义宏:#define PI 3.141592653,使用到3.141592653 的地方就用 PI 取代。
指针作为函数参数,将内存地址传递给函数,函数可以操控这个指针指向的内存数据。

宏我的理解就是一个标签,贴在自己身上不能改变
指针是给别人贴标签,在遵守规则的情况下可以转换被贴标签的对象


宏什么意思
使对话框中的选项更易于访问 使一系列复杂的任务自动执行 宏编程介绍 在用一种不熟悉的宏语言进行宏编程时,可以这样做,首先记录下用户想要宏完成什么,然后打开宏文件并尝试理解命令结构如何工作。也可以修改命令以调整宏。一些宏语言,比如Great Plains账务(?accounting)软件的 Dexterity 运行时引擎,不能从其它数据...

在电子表格中如何使用宏
以下是宏的一些典型应用:加速日常编辑和格式设置 组合多个命令 使对话框中的选项更易于访问 使一系列复杂的任务自动执行 Word提供了两种创建宏的方法:宏录制器和Visual Basic编辑器。宏录制器可帮助您开始创建宏。Word在Visual Basic for Applications编程语言中把宏录制为一系列的Word命令。可在Visual ...

什么是宏语言?
一、宏语言的释义:1、宏语言是一种强有力的工具语言,可以用来描述软件和解决软件移植等问题,用于书写宏指命和宏定义的表示法和规则。2、宏语言是一类编程语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用,但在文本处理程序中应用普遍。二、宏语言的相关概念:1、宏变量:...

C语言中的宏是什么意思 游戏中的宏是什么意思?
宏也在C里也叫预处理命令,因为宏是在程序编译前先进行字符替换的,所以叫预处理.在C里还有其它的预处理命令如:define undef ifdef 等等 游戏中 -宏系统是通过玩家预先输入各种指令后,按下对应按键就可以做出连续动作的一种系统。除了游戏中各种技能外,还包含各种社交指令,甚至是对话。充分运用好宏的...

c语言中宏定义的嵌套和递归
可以嵌套:#define a bb(不能是aa)define bb 123 预编译时a会变为123 不可递归:#define c 1+c 或#define c 1+b define b 1+c 预编译时c会变成1+1+1+1+1+...无限循环

威纶触摸屏用宏指令怎么写打开窗口的功能?
WEINVIEW品牌专注于中国HMI市场,已广泛应用于机械、纺织、电气、包装、化工等行业。宏指令是汇编语言程序中的一种伪指令,宏指令是代表某功能的一段源程序。威纶公司发展:威纶通始终用最严格的标准鞭策自身发展:视品质为生命,采用世界先进的仪器设备,运用标准化作业程序执行管制;与国际标准同步,2004年...

在计算机中宏是什么意思
计算机科学里的宏是一种抽象的,根据一系列预定义的规则替换一定的文本模式。Excel办公软件自动集成了“VBA”高级程序语言,用此语言编制出的程序就叫“宏”。使用“VBA”需要有一定的编程基础,并且还会耗费大量的时间,因此,绝大多数的使用者仅使用了Excel的一般制表功能,很少使用到“VBA”。

C语言的宏定义问题
#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利...

C语言编译系统对宏替换的处理是在什么时候进行的
是正式工作开始之前的准备工作,所以宏替换是在对程序编译之前进行的。宏替换是C\/C++的预处理中的一部分,对于宏定义中的形参,在替换列表中,如果不是作为#或##的操作数,那么将对应实参完全展开(相当于对实参进行求值),然后将替换列表中的形参替换掉,如果是#或##的操作数。

急求!!! 汇编语言中1.用宏定义 求两个数中的最大值 2.在数组中求最大...
1.用宏定义 求两个数中的最大值 max2 macro a,b,max mov ax,a ;如果数为字节类型,则把AX改为AL就好 cmp ax,b ja next mov ax,b next:mov max,ax endm 2.在数组中求最大值与最小值 array macro arr,len,max,min ;arr为数组名,len为数组长度 mov bx,0 mov ax,arr[bx] ...

惠民县15119139878: C语言中,宏的运用,和指针作为函数参数的运用,两者有何区别. -
成乳高舒: 宏的作用主要有:宏定义和宏替换.宏定义主要是定义一些参数,提供编译程序识别使用,实现条件编译,以屏蔽实现多平台差异、实现调试版和发行版等功能.宏定义可以简单的理解成字符替换,便于程序的编写和修改,如程序要多次取两个数中的教大值,可以定义宏:#define max(a,b) ((a)>(b)?(a):(b),语句 c = a > b? a, b,就可以使用 c = max(a,b).又如,程序要多次使用 3.141592653,可以定义宏:#define PI 3.141592653,使用到3.141592653 的地方就用 PI 取代.指针作为函数参数,将内存地址传递给函数,函数可以操控这个指针指向的内存数据.

惠民县15119139878: c语言有没有把一个宏作为函数参数的. -
成乳高舒: 宏只是编译前简单替换代码内容,而函数真正产生代码. 宏是编译期的,函数是运行期的; 宏不是实体,而函数是一个可寻址的实体; 宏只是编译期替换,在程序里每遇到S(a,b),就用a*b代替,a和b两个实体并没有由宏实际产生,而函数S会在栈中定义两个对象a和b. 宏没有生存期、作用域之类的概念,而函数就有. 函数在运行过程中会在栈中产生函数调用过程活动记录,而宏则没有. 所以说宏作为函数参数是不可行的

惠民县15119139878: C语言中实现简单的功能用有参宏比用函数有什么好处? -
成乳高舒: 1、宏与函数的区别主要在于是否返回值,一般函数都有返回值,宏是不可以的.宏和函数都不必须要求参数,参数都是可有可无的. 2、用函数,因为要有函数调用,增加了执行时的开销,效率不如宏,但是可代码重用.用宏虽然没有函数调用,但是因为在使用这个宏的地方,代码会被展开编译,增加了程序文件的大小.总起来说,参数和宏是一个用空间换时间还是用时间换空间的抉择.

惠民县15119139878: c语言中的“宏”是指什么? -
成乳高舒: 宏是一种预处理指令,它提供了一种机制,可以用来替换源代码中的字符串. 1、条件编译: C语言中,预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行相应的转换,预处理过程还会删除程序中的注释和多余的空...

惠民县15119139878: C语言中 宏 的概念 具体怎么用
成乳高舒: C中的宏是以#define开头进行定义的,有二种宏: 1.只有宏名的宏:如 #define PI 3.141592654 <-----------注意格式,无分号结尾,用空格分内容 这样,以后在程序中只要用 PI就可以了,不需用3.141592654那么长,又容易出错... int b; b =PI; <-------直接像变量那样赋值 - 2.带参数的宏(这很像函数):如 #define G(a) a*a*a <-------注意格式,括号内的就是参数, int b=10, s; s = G(b); <-------展开为s= b*b*b=10*10*10=1000;

惠民县15119139878: c语言中指针的应用? -
成乳高舒: 指针的主要用法:1. 间接引用变量.2. 指针作为函数的参数.可以在一个函数中,间接引用另一个函数中的变量.3. 用指针处理数组.4. 用指针处理字符串.指针处理字符串,更加灵活、功能强大.5. 指向函数的指针.这些用法中,最有用的是第2项和第4项.选自《C语言程序设计—从入门到进阶》,人民邮电出版社.

惠民县15119139878: C 语言中指针函数是如何调用的?? -
成乳高舒: 整个程序的目的是对一组数据进行求最大值、最小值或平均值的操作,通过输入的指令进行相应的操作.按照不用函数指针的思路,程序大概会写成这样:(以下为伪代码)最大值函数{...}

惠民县15119139878: 举例说明什么是"c"语言中的"宏"? -
成乳高舒: 宏就是在编译前由预处理器将它转换为实际命令的信息,如:1.定义一个常量#define PI 3.14 double Area(double r) { return PI * r * r; } 上面函数中的PI将要被3.14代替.2. 定义一个表达式,如#define Max(a, b) (a) > (b) ? (a) : (b) int a = 3, b = 4; ...

惠民县15119139878: 请问C语言中带参数的宏和函数的比较 -
成乳高舒: 宏是用于编译器处理的,他在程序编译时,会在对应位置展开成代码..,这就相当于你在告诉编译器,我想在这个位置加一些代码,代码的内容已在宏中定义,请编译器自己支找...,也就是说程序在运行时,早已变成了对应位置上的代码,此时已没有宏的概念了.... 而函数则是运行时,调用.他不会在编译时,在对应位置上加上函数代码,只是加上一个函数入口指针...从这个入口去运行一段代码...运行完了之后回到当前位置继续执行.... 可以简单的认为,宏是在编译时上起作用,而函数是运行时起作用...

惠民县15119139878: c语言中“宏”是个什么东西 有什么意义
成乳高舒: 宏定义的作用在预编译阶段,形如 #define A B 就是宏定义了,作用就是在预编译阶段将程序中的A全部视为B,举个例子: 我们在程序最开始,声明如下宏定义 #define pi 3.1415926 那么在我们写程序的时候,我们可以直接使用pi作为一个常量...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网