
正文
c语言更换函数名 c语言改变函数参数的值
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言中重命名函数指的是什么?请举个例子
函数定义不可以嵌套的意思是:不可以在一个函数内定义另一个函数例如voidfun(){voidfun1(){}}函数调用可以嵌套,函数调用只有函数名和参数fun()这叫调用例如voidfun(){fun1();}这样是可以的
相关问答
Q1: c语言如何把某个函数名转换为字符串
根据编译环境c语言更换函数名,有如下方式:
1 部分编译器中c语言更换函数名,支持__FUNCTION__或__func__宏。该宏为编译器定义c语言更换函数名,值为被调用函数的函数名转换成的字符串。如在func()中调用__FUNCTION__,则该宏的值为"func"。
2 如果编译器不支持上述宏名,那么需要手动添加宏。可以有如下两种方式:
a. 直接定义对应字符串,如
#define FUNC_NAME "func"
字符串中的直接写明。
b. 统一函数转换。利用宏定义的#操作,可以实现标识符向字符串的转换。
#define FUNC_NAME(x) #x
这时调用FUNC_NAME(func)就等效于"func"。
Q2: 关于C语言自定义printf函数名的问题
这种方法是不可取的,头文件中不存在函数的定义,只有函数的声明,而你将函数的声明更改了,但是函数的定义并没有变,还是原来的printf,但是由于你这样的改动,导致原来的函数名(printf)也无法使用了!
建议不要一更改任何一个标准头文件的值。
********************************************
标准库函数的定义不可以更改,如果标准库函数不能满足你的需要,可以自定义一个函数。
Q3: C语言关于函数的替换
A函数的源码可控吗?如果可控,把对B函数的调用改成对新实现的调用就行了。
如果A函数不是自己写的(源码不可控),会麻烦一些。例如,在支持指针的语言上,可以修改B函数入口部分的汇编代码,jmp到自己的新实现。要求B函数和你的实现原型必须完全相同。
Q4: c语言中如果定义了一个函数,那么用宏定义可以替换名称吗
会出错吧c语言更换函数名,宏定义替换c语言更换函数名的是一个常数c语言更换函数名,如果是用宏来计算什么的话c语言更换函数名,也是将函数过程给放上去,得出值后被宏名替换,直接替换函数名是不可行的
c语言更换函数名的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言改变函数参数的值、c语言更换函数名的信息别忘了在本站进行查找喔。







