C语言中的void和void指针
C语言中的void和void指针
实例:
#include <stdio.h>
#include <stdlib.h>
void print(void * node)
{
printf("%d\n", *(int *)node); //加星号报错,不加不报错,但是结果不对。
//必须要转换成相应类型才能对其操作
}
void main()
{
int a = 10;
print(&a);
system("pause");
}
void 关键字
- 当函数返回值为空时,可以使用void。
void empty(int a);
当函数参数列表为空时,可以使用void。
void empty(void);
void指针的作用
void指针:void *
可以用其指代任何类型的指针。
但不能用void指针直接进行操作;只能转换成对应类型指针后,才能操作
使用方式
enum Season {
Spring, Summer = 18, Autumn, Winter
} season;
enum Season *s = &season;
void* vs = s;
//printf("vs= %d\n", vs); //error 不能直接用于操作
int* ns = (int*)vs; //转换成对应的 int型指针
printf("ns= %d\n", *ns);
void指针与函数
因其可以指代任何类型的指针。所以将void指针作为函数参数时,表示接受任意类型的指针参数
void test(void* a) {
printf("void* --> %d\n", * (int*)a);
}
main() {
int m = 10;
int *p = &m;
test(p);
}
参考自
- CNN中卷积和池化计算公式
- cocos2d
- 有关林达华的几个地址
- 关于platform
- VirtualBox中Windows 7虚拟机无法全屏显示怎么办?
- vmware装的ubuntu的界面怎么全屏?
- include在HTML中的用法
- 扎心了!37岁被裁,好几个月都没有找到工作,面试大公司被婉拒,无奈只能降薪去小公司,没想到还被人嫌弃技术太落后...
- 高通Linux Android 平台中的蓝牙功能学习 (4)
- ExtJS (3.3的使用)
- CSS3实现图片的3D旋转效果
- 最小二乘支持向量机(lssvm)回归预测(matlab)
- 如何在h5页面中调用摄像头来完成拍照之类的操作
- 小程序列表多个批量倒计时
- 兔子吃狼 引发的人力资源故事
- Yolov3,v4,v5区别
- GUID MBR新一代分区表 DiskGenius