关于void*与void**的区别
来源:互联网 发布:热血征途2008java 编辑:程序博客网 时间:2024/06/06 07:07
由于void就是不检查数据类型,所以,对于编译器来说, void* 和 void** ,甚至后面n个 * ,都是一样的.
问题的关键在于,让我们这些编程的人可以区分.
原则上,void* 可以是一个一级指针,二级指针,甚至是n级指针.
但我们的使用习惯是, 一个 * 代表一级指针,多级指针就用n个*表示.
在实际使用的时候, 如果告诉你, void* 是一个n级指针,你不会觉得别扭吗?假如是一个多级指针,由于用void*表示,也由于别人使用的时候一个不小心当成1级指针来处理(这种错误非常容易出现,绝对不是小心一点就能避免的),bug就出现了.而且由于是void*类型,编译器不做检查,错误查找也非常麻烦.
所以,习惯上,实际使用的时候,多级指针还是用多个*表示的居多,这样看着也明白了,用起来也就不那么容易出错了.
问题的关键在于,让我们这些编程的人可以区分.
原则上,void* 可以是一个一级指针,二级指针,甚至是n级指针.
但我们的使用习惯是, 一个 * 代表一级指针,多级指针就用n个*表示.
在实际使用的时候, 如果告诉你, void* 是一个n级指针,你不会觉得别扭吗?假如是一个多级指针,由于用void*表示,也由于别人使用的时候一个不小心当成1级指针来处理(这种错误非常容易出现,绝对不是小心一点就能避免的),bug就出现了.而且由于是void*类型,编译器不做检查,错误查找也非常麻烦.
所以,习惯上,实际使用的时候,多级指针还是用多个*表示的居多,这样看着也明白了,用起来也就不那么容易出错了.
0 0
- 关于void*与void**的区别
- 解释void *与void **的区别
- void *p,void *p()与void (*p)()的区别
- void main(void x)两个void的区别 -----void与void*详解
- 关于# 和 void的区别
- void 和 void* 的区别
- void ( *p ) (void) 和 void ( *p () ) (void)的区别
- 关于javascript:void(0)与#的区别和使用方法
- void与void *的使用
- const void *a 与 void *const a 的区别
- const void *a 与 void *const a 的区别
- const void *a 与 void *const a 的区别
- const void *a 与 void *const a 的区别
- 关于void GetMemory(*p)与void* GetMemory()的讨论
- c/c++ 中的void 与void *区别
- #与javascript:void(0)的区别
- void main 与 int main的区别
- void main 与int main的区别
- IOS热修复之JSPatch
- 手把手教你编写swipeRefreshLayout+RecylerView+底部加载更多(没有太多的封装,写出适合自己的代码)
- spring cloud 微服务框架 第三天
- 事物注解方式: @Transactional
- Java 1.5,1.6,1.7,1.8新特性
- 关于void*与void**的区别
- 斯科特.杨《如何高效学习》
- mac 安装 composer
- static关键字学习笔记
- HDUOJ1195 OpenLock简单遍历
- FFMPEG avformat_find_stream_info替换
- 每日一题(15): poj2533
- ebtables/iptables interaction on a Linux-based bridge
- NumPy之二:数组形状操作