main()在C和C++中定义函数的正确(最有效)方法是什么- int main()或void main()- 为什么?如果int main()那么return 1或return 0?
这个问题有很多重复,包括:
main()函数的有效签名是什么?main()函数void main()和int main()?main()在C++中的签名main()? - 对于C++,确实有一个非常好的答案.main()C语言中的函数样式main()C中的方法类型int main()vs void main()在C中有关:
我是C的初学者,让我说我有这样的代码:
#include <stdio.h>
void test(char *t)
{
t++;
*t = 'e';
}
void main()
{
char a[] = "anto";
printf("%c\n",a[1]);
test(a);
printf("%c\n",a[1]);
}
Run Code Online (Sandbox Code Playgroud)
这是示例代码,我正在弄清楚指针是如何工作的.根据我的说法:
t++;
Run Code Online (Sandbox Code Playgroud)
在上面的代码将递增数组的地址a由1 char在调用函数test.很好,现在我知道*它用于检索指针指向的对象值.
但奇怪的是,当我改变t++为
*t++;
Run Code Online (Sandbox Code Playgroud)
我得到的输出和以前一样.我字面意思是这个,上面的语句
*t++;应该改变内容只知道,根据*运算符的定义.
但这又改变了地址t.怎么会?我在哪里弄错了这个概念?
提前致谢