在C/C++中,main函数接收类型的参数char*
.
int main(int argc, char* argv[]){
return 0;
}
Run Code Online (Sandbox Code Playgroud)
argv
是一个数组char*
,并指向字符串.这些字符串在哪里?它们是堆,堆栈还是其他地方?
我知道之前有很多类似的问题,但我找不到能解决这个警告的问题:
MyIntFunctions.c:19:2: warning: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration]
Run Code Online (Sandbox Code Playgroud)
发生在这里:
void IntPrint (const void *key)
{
printf("%d", *(int*)key); // line 19
printf("\t-->\t");
}
Run Code Online (Sandbox Code Playgroud)
和类似的警告:
MyStringFunctions.c:22:2: warning: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration]
void StringPrint (const void *key)
{
printf("%s",(char*)key); //line 22
printf("\t-->\t");
}
Run Code Online (Sandbox Code Playgroud)
我真的很想知道出了什么问题所以我将来不会再这样做了.