c语言函数能用void吗 c语言可以用void main吗( 二 )


p1 = (float *)p2;
而void *则不同,任何类型的指针都可以直接赋值给它,无需进行强制类型转换:
void *p1;
int *p2;
p1 = p2;
但这并不意味着,void *也可以无需强制类型转换地赋给其它类型的指针 。因为“无类型”可以包容“有类型”,而“有类型”则不能包
容“无类型” 。道理很简单,我们可以说“男人和女人都是人”,但不能说“人是男人”或者“人是女人” 。下面的语句编译出错:
void *p1;
int *p2;
p2 = p1;
提示“'=' : cannot convert from 'void *' to 'int *'” 。
2.void的使用
使用规则:
如果函数没有返回值,那么应声明为void类型
在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理 。但是许多程序员却误以为其为void类型 。例如:
add ( int a, int b )
{
return a + b;
}
int main(int argc, char* argv[])
{
printf ( "2 + 3 = %d", add ( 2, 3) );
}
程序运行的结果为输出:
2 + 3 = 5
这说明不加返回值说明的函数的确为int函数 。
补充:void 中文翻译为"无类型" 。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明 。
void的字面意思是"无类型",void *则为"无类型指针",void *可以指向任何类型的数据 。
在C语言中,凡不加返回值类型限定的函数 , 就会被编译器作为返回整型值处理 。但是许多程序员却误以为其为void类型 。
C语言中的“void ”和“int”分别在什么时候使用?当一个函数只需要别人调用,调用该函数的函数不需要得到返回值时用void,当需要从被调函数中返回一个int型数时就用int 。\x0d\x0a比如比较大小的函数,\x0d\x0aint max(int a , int b){\x0d\x0areturn ab?a:b;\x0d\x0a}\x0d\x0a调用该函数的函数需要知道哪个数大,就得返回一个int型的数;\x0d\x0a又如交换两个变量的函数,\x0d\x0avoid swap(int a,int b){\x0d\x0aint c=a;\x0d\x0aa=b;\x0d\x0ab=c;\x0d\x0a}\x0d\x0a调用该函数的函数知道它的功能就是让这俩变量的值交换,然后不用别的返回值了,所以就用void了
为什么c语言的main函数不能返回void类型?提示main函数的返回值类型必须为int型 。同时要在main函数结束执行前添加诸如return 0,之类的语句 。
void main() 是C++语言的话这类型是不标准的,改为int main()即可 。
任何时候都可以用int main(),所以建议不用void main(),用C++编译器编译C一般不会有什么问题 , 因为C++是兼容C的 。
总结一下就是,C语言标准允许main函数为void类型 , 按照C++的标准中main必须是int类型,如果你的软件不兼容c那么就只能写成int main(),兼容的话你也可以写成void main也是没有错误的,c中 , main的格式,void main (){undefined 。
【c语言函数能用void吗 c语言可以用void main吗】c语言函数能用void吗的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言可以用void main吗、c语言函数能用void吗的信息别忘了在本站进行查找喔 。

推荐阅读