void
来源:互联网 发布:怎样修改软件版本号 编辑:程序博客网 时间:2024/05/16 08:28
一、void
1、void 是一种“抽象类型”,sizeof(void) = 0,故不允许使用void来定义变量。
例如:void void_variable
int func(void void_argument) 都是错误的。
2、void 作为函数返回值的限定
在C89标准中,如果某个函数没有返回值,那么返回类型为void。 例如void add(int a, int b)。
假如某个函数没有限定返回类型,例如 add(int a, int b),那么编译器默认的返回类型是整数类型。
void add(int a, int b){ /*error*/
return a + b;
}
add(int a, int b) { /*OK*/
return a + b;
}
3、void 作为函数的参数
如果某个函数没有参数,那么将其声明为void。例如int func(void)。
假如某个函数没有参数,但是没有声明为void,则int func(),则在调用func函数时,可以接受任何参数。
int func(void) {
return 0;
}
func(2); //error
func(2.5); //error
func(2, 'a'); //error
int func(){
return 0;
}
func(2); /*OK*/
func(2.5); /*OK*/
func(2, 2.5); /*OK*/
二、void*
1、void*可以声明变量,它是真实存在的。
void *p;
sizeof(void*) = 4
sizeof(p) = 4
sizeof(void) = 0;
2、void *能够指向任何类型的数据,也就是说任何类型的数据指针都可以赋值给void*指针。
int *p1;
float *p2
void *p;
p = p1; /* OK */
p = p2 /* OK */
3、void*指针是不能做计算的,因为不知道void*指向的数据类型。
/* error C2036: “void *”: 未知的大小 */
void *p;
p++;
本人现经营一个微信订阅号如下:欢迎大家关注,获取相关内容。
订阅号账号是:begginghard_zgh
订阅号名称是:读书笔记 By 张光辉
0 0
- void *
- void
- void
- void
- void
- void
- void*
- void
- void
- void
- void
- void
- void
- void
- (void**)&
- void *
- void
- void*
- 关联式容器
- 桑梓6号机黑苹果双系统安装日志
- 第二讲 第一次
- 数据仓库的逻辑建模之星型模式
- window下找查找占用端口的进程并手动杀死
- void
- 基因芯片(Affymetrix)分析3:获取差异表达基因
- 拓扑排序——确定比赛名次
- 内存泄露输出
- 一笔画问题
- HDU4373 组合数求模(Lucas定理+中国剩余定理)
- 无间道
- iOS GameCenter 挑战,排名
- linux 上tomcat 服务器抛出socket异常“文件打开太多”的问题 - 也碰到了这个问题,解决方案如下