我是C语言的初学者,所以如果和函数原型char* ft_name(args)等效的话我有点困惑char *ft_name(args)。
有人可以帮我吗
从编译器的角度来看,C编译器会忽略标记之间的空白以及两个斜率
char*ft_name(args);
Run Code Online (Sandbox Code Playgroud)
所以它们是完全一样的。
编译器唯一不忽略空格的地方是字符串文字,例如 "Hello world"
该程序:
int main(int argc, char *
* argv)
{
size_t s =
strlen(argv [ 0] );
printf("%zu %s\n",
s, argv
[
0
]);
}
Run Code Online (Sandbox Code Playgroud)
被编译器视为
int main(int argc,char**argv){size_t s=strlen(argv[0]);printf("%zu %s\n",s,argv[0]);}
Run Code Online (Sandbox Code Playgroud)
在预处理阶段扩展宏时,不会忽略空白。