深圳网站建设q双赢世讯,宁波网站建设推广报价,通州免费网站建设,企业网站程序制作从大一入学刚接触C到现在已满7个月了#xff0c;虽然刚开始就知道int main才是标准的写法#xff0c;但一直没有深刻理解为什么不能用void main而必须使用int main。 刚好最近有非计算机相关专业学C的同学问我int main、main和void main有什么区别#xff0c;便觉得是时候好… 从大一入学刚接触C到现在已满7个月了虽然刚开始就知道int main才是标准的写法但一直没有深刻理解为什么不能用void main而必须使用int main。 刚好最近有非计算机相关专业学C的同学问我int main、main和void main有什么区别便觉得是时候好好整理一番了于是有了此博客。 先简而言之 1.void 和 int 表明声明不同的主函数返回值不声明则默认返回值为int整型。 2.int main可移植性强。 3.C语言从来没声明过void main只声明过main()。 3.抛弃一切用void main编写C程序的习惯 稍微深入 main函数,又称主函数作为绝大大部分C程序唯一的入口比如windows编程中可以编写一个其他windows程序都可以使用的动态链接库dll模块由于DLL模块不是独立的程序因此不需要main函数。再比如用于专业环境的程序-----如机器人中的控制芯片--可能不需要main函数是要求有返回值的该返回值返回给操作系统来表明改程序的执行状况。返回0代表程序正常执行成功返回非0值代表程序异常结束因此返回值需要是int整型于是有了int main()的规范。如果使用void main既声明主函数没有返回值的话程序随能编译、运行成功却不利于操作系统判断其状态这对于由很多C程序构成的大型项目来说是可能会是致命的。 尤其从c99标准1999年制定的官方C语言标准第二版开始必须使用int main如果没加return 0;语句C99要求编译器自动添加自己写上是个好习惯。只声明main的话系统默认为int main。void main无论何时都不应该使用因为主函数必须有返回值表明程序运行状态在很少的代码中最少不使用void main是一个良好的变成习惯。 学校老版教材推荐编写C程序时使用的 VC6.0 是98年的产品而C99标准见名思义在1999年制定因此VC 不会自动添加return 0;。Windows下建议尝试使用DEV C或Visual Studio的IDE环境集成开发环境写C代码。 再深入一点 在最新的 C99 标准中只有以下两种定义方式是正确的 int main(void){}//整数类型主函数(无类型)
int main(int argc,char **argv)//整数类型主函数(整数类型 统计参数个数,字符类型*数组指针至字符[]) 如果没有int main并且不是return 0;的话编译完C程序后生成了exe文件在DOS按下Windows键r键后输入cmd打开)下用执行该文件的命令时比如是1.exe语句后面加上 dir 就会发现并没有列出当前目录的列表 是按先后顺序执行两条命令的连接符dir命令在DOS下用来列出当前所在文件下的目录列表的 为什么没执行成功dir命令呢正是因为写的C程序没有返回值操作系统认为程序没有成功执行完毕因此就不会执行 后面的dir命令了… 上面两种正确的定义方式一般接触C语言阶段用前者足以括号里面的void指明主函数并不需要参数而后者 int main(int argc, char *argv[]); 表明main函数返回值为整型带两个参数argc为命令行参数的个数argv为指针数组前argc个指针为参数列表最后一个指针值为NULL。具体见下方链接。