C语言void关键字
来源:互联网 发布:单片机图形化编程软件 编辑:程序博客网 时间:2024/04/29 08:35
void关键字
1.类型:
- void 是“空类型”。
- void 则为“空类型指针”,void 可以指向任何类型的数据。
2.void
作用:
对函数返回的限定
对函数参数的限定void a
说明:因为void为无类型,在内存中偏移量为0,它声明变量a,a在内存中没有空间,所以无法定义且后面无法赋值从而报错。
变量赋值条件:
1.”=”左边要指向一个有效的地址
2.”=”左边指向的有效的地址需要有可用的内存的空间
3.void作用:
如果函数没有返回值,那么应声明为void 类型。
凡是函数不加返回值类型的都当做int处理
add (int a, int b) { return a + b; }
如果函数无参数,那么应声明其参数为void
函数不接受参数,如果不声明为void,则会出错
fun(){ return 1;}int main(){ printf("%d\n", fun(2)); return 0;}
注:上面的程序在C中结果为1,在C++中编译出错:
'fun' : function does not take 1 parameters
4.void指针:
- 说明:
int main() { void *pvoid; pvoid++; //ANSI错误 GNU正确 pvoid += 1; //ANSI错误 GNU正确 //进行算法操作的指针必须确定知道它指向的数据类型的大小,也就是说确定的知道内存目的地址的确切值 int *pint; pint++; //ANSI正确 //避免 GNU 和 ANSI 的出现的不一致 void *pvoid; (char *)pvoid++; //ANSI正确; GNU正确 (char *)pvoid += 1; //ANSI错误; GNU正确 return 0; }
注意:尽量使用ANSI的标准
函数返回值和参数的类型:
这种情况在写一些通用代码的函数的时候特别灵活
/*下面的是一些系统函数,可以实现多种类型的操作,相对字符串的str函数灵活许多*/ void * memcpy(void *dest, const void *src, size_t len); void * memset ( void * buffer, int c, size_t num ); void * memmove(void *dest, const void *src, int count); void *my_memccpy(void *dest, const void *src, char ch, int count);
注:void指针体现了C语言对内存的操作(不区分类型)
5.参考:
- C语言中文网
1 0
- C语言void关键字
- C语言关键字void
- C语言void关键字
- C语言关键字--- void exrern sizeof
- C语言再学习 -- 关键字void
- [C关键字]void 关键字
- Daily-C-Study(9):C语言void关键字
- C语言之关键字(二) void,const
- C/C++语言void
- C语言void详解
- c语言/VOID(*)
- C语言中的 void*
- C语言的void和void *(48)
- C/C++语言void及void指针
- void及void指针(C/C++语言)
- C语言void及void指针
- C语言中Void详解
- C语言VOID类型大小
- 0515
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
- sqlserver中查询语句case when判断的用法
- 可视化理解卷积神经网络
- 关于Redis数据过期策略
- C语言void关键字
- PAT甲级1005
- 使用JDBC获取Oracle连接时报错
- mui结合vue使用
- Spring4+WebSocket实例
- 动态库与静态库
- 将你的一言一行公布到互联网上之前应三思
- HDOJ 1003 Max Sum
- 【easyui】kindeditor富文本(html编辑器)的使用