C 语言 int main() 和 int main(void) 的区别?
int main(void) 指的是此函数的参数为空,不能传入参数,如果你传入参数,就会出错。
int main() 表示可以传入参数。
// 这样是正确的
int main()
{
if(0) main(42);
}
// 这样会出错
int main(void)
{
if(0) main(42);
}
在 C++ 中 int main() 和 int main(void) 是等效的,但在 C 中让括号空着代表编译器对是否接受参数保持沉默。在 C 语言中 main() 省略返回类型也就相当说明返回类型为 int 型,不过这种用法在 C++ 中逐渐被淘汰。虽然 void main()在很多系统都适用,但他毕竟不是标准的,所以应该避免这种用法, 应该使用这种 int main(void) 的写法比较妥当。
标识符
定义:变量、符号常量、函数、数组、类型、文件、标签和其他各种用户定义的对象的名称。
- 第一个字符必须是字母或下划线
- 后续字符可以是字母、数字或下划线
- 标识符的有效长度不超过247字符
- 标识符不能和关键字相同
- 标识符区分大小写
- 最好也不要和系统预定义标识符同名
- 标识符命名要做到“见名知义”
- 应该避免使用可能引起混淆的字母
为什么要使用 using namespace std; ?
有些名字容易冲突,所以会使用命名空间的方式进行区分,具体来说就是加个前缀。比如 C++ 标准库里面定义了 vector 容器,你自己也写了个 vector 类,这样名字就冲突了。于是标准库里的名字都加上 std:: 的前缀,你必须用 std::vector 来引用。同理,你自己的类也可以加个自定义的前缀。
但是经常写全名会很繁琐,所以在没有冲突的情况下你可以偷懒,写一句 using namespace std;,接下去的代码就可以不用写前缀直接写 vector 了。