发布网友 发布时间:2024-03-09 10:21
共1个回答
热心网友 时间:2024-03-11 18:04
C语言程序中,若函数无返回值,则应该对函数说明的类型是void。
如果函数所体现的计算不需要返回结果,则数据类型可以指定为void类型。
注意,这种情况下在主调函数中调用该函数,该函数调用表达式不能被用作子表达式给其他变量赋值。
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
扩展资料
使用void类型指针要注意的几条规则:
1、void*类型只有地址信息没有类型信息,所以不能计算偏移。
C/C++中的指针通常来说有两个属性:
(1)指向变量
(2)指向对象的地址和长度
指针其实就是存储被指向变量的地址,并不保存其长度;而且存的这个地址仅是变量的首地址,并不是该变量占据内存的所有地址空间。
2、任何指针(包括函数指针)都可以赋值给void指针。
特点:
(1)不需要类型转换;
(2)只获得变量/对象地址而不获得大小。
3、void指针赋值给其他类型的指针时都要进行转换。
特点:转换类型也就是获得指向变量/对象大小。
4、void指针在强制转换成具体类型前,不能解引用。
原因:void指针只知道指向变量/对象的起始地址,而不知道指向变量/对象的大小(占几个字节)所以无法正确引用。
5、void指针不能参与指针运算,除非进行转换。