有什么方法可以设置默认参数吗?xc8
我有一个简单的lcd xc8头文件:有什么方法可以设置默认参数吗?xc8,c,xc8,C,Xc8,我有一个简单的lcd xc8头文件: #ifndef XC_PANTALLACWS_H #define XC_PANTALLACWS_H #include "lcd.h" void pantallaCWS (const char stringProyecto){ const char stringProyecto[16] = "__proyNombre____"; Lcd_Init(); Lcd_Out(1, 0, stringProyecto); } #endif
#ifndef XC_PANTALLACWS_H
#define XC_PANTALLACWS_H
#include "lcd.h"
void pantallaCWS (const char stringProyecto){
const char stringProyecto[16] = "__proyNombre____";
Lcd_Init();
Lcd_Out(1, 0, stringProyecto);
}
#endif
我想做的是,如果函数中没有给出参数,则默认设置一个参数
这可能吗?首先,我认为您的参数声明中有一个错误,因为它只有一个字符,但您需要一个字符串 然后,诀窍是检查空参数,如果是,则在函数中提供默认参数,例如:
void pantallaCWS (const char *stringProyecto){
const char *myString;
if (stringProyecto==0)
myString= "__proyNombre____";
else
myString= stringProyecto;
Lcd_Init();
Lcd_Out(1, 0, myString);
}
永远不要将可执行代码放在头文件中,问题的答案是:不,不要在C中“永远不要将可执行代码放在头文件中”-这并不完全正确@Mike-例如,想想
静态/内联函数。我认为这与要求不符:“如果函数中没有给出参数”这是我的工作。我将以两种方式调用该函数:1:pantallaCWS(null)或2:pantallaCWS(anyString)。。。。。thanksss@JonathonReinhart,另一种解决方案是使用varargs,但我认为OP不能胜任这一工作。(此外,他的声明不允许这样做。)