关于刚学C语言,请问各位大侠,为什么要在main()函数前加个void?的问题
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()函数),那么最好采用返回值说明当前程序退出的状态。