空指针到底是什么
语言定义中说明, 每一种指针类型都有一个特殊值—— “空指针” —— 它与同类型的其它所有指针值都不相同, 它“与任何对象或函数的指针值都不相等”。也就是说, 取地址操作符& 永远也不能得到空指针, 同样对malloc() 的成功调用也不会返回空指针, 如果失败, malloc() 的确返回空指针, 这是空指针的典型用法:表示“未分配” 或者“尚未指向任何地方” 的指针。
空指针在概念上不同于未初始化的指针。空指针可以确保不指向任何对象或函数; 而未初始化指针则可能指向任何地方。
如上文所述, 每种指针类型都有一个空指针, 而不同类型的空指针的内部表示可能不尽相同。尽管程序员不必知道内部值, 但编译器必须时刻明确需要那种空指针, 以便在需要的时候加以区分
空指针在概念上不同于未初始化的指针。空指针可以确保不指向任何对象或函数; 而未初始化指针则可能指向任何地方。
如上文所述, 每种指针类型都有一个空指针, 而不同类型的空指针的内部表示可能不尽相同。尽管程序员不必知道内部值, 但编译器必须时刻明确需要那种空指针, 以便在需要的时候加以区分
【空指针到底是什么】相关文章
1. 空指针到底是什么
2. 用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
4. 如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
6. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
7. 在使用非全零作为空指针内部表达的机器上, NULL是如何定义
9. 怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
10. 我能否用void** 指针作为参数, 使函数按引用接受一般指针
本文来源:https://www.mianshiwenti.com/a13078.html
进入下载页面
﹝空指针到底是什么﹞相关内容
- 什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
- "引用"与指针的区别是什么
- 函数指针的定义是什么
- 简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?
- 到底要怎样招程序员
- 到底简历要不要放照片好?
- 到底Java是如何传递参数的?是by value或by reference?
- 我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
- 指针和引用有什么区别
- 我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?