在C或C++中常有一些程序,结尾有不影响运行的 return 1或 return 0 .它们有什么作用?
return 0是正常退出,return 非零 是异常退出,这是返回给控制台的,不在你编的程序的控制范围内,是给操作系统识别的,对你的程序无影响。如果是C中,定义void main()可以不用返回值。具体操作系统怎么处理0和非零我也不知道,也没必要了解,因为与你的程序无关。
- void 指的是无类型的数字,挺起来很费解吧?
在计算机系统中,是按照基本字节来进行处理的,比如char占一个字节,
short两个字节,long四个字节,等等,也有编程中处理协议使用的结构struct,一般结构的大小也是字节的n倍数。void什么意思?0字节吗?
实际上void很多时候用于处理指针。比如任何指针都可以用void *直接转换,而不需要再加强制转换。有时函数不需要参数或者不需要返回值时,参数用void或者返回值为void,这叫做“显式声明”(Explicit Declare),不写也可以,作为“隐式声明”(Implicit Declare)。很显然,显示声明的程序更清晰,可读性更强。
作为标准I/O系统中的main函数,是任何操作系统中程序的入口点。不同操作系统上不同编译器对应用程序要求也不一样。但在大多数UNIX/LINUX的32位操作系统中应用广泛的cc,gcc,g++等编译器,一般要求main返回一个长整数;WINDOWS下面VC对void main是不会报任何错误或者警告的,但是WinMain函数(窗口程序的编程入口点)强制要求是DWORD类型。
对于程序员来说,如果应用程序有可能被别的应用程序调用时(比如System()函数),那么最好采用返回值说明当前程序退出的状态。