![]() |
1
3
|
![]() |
2
21
对于C,“NULL”传统上定义为(void*)0—换句话说,它是地址0的指针别名。对于C++,“null”通常被定义为“0”。C++和C中NULL的问题是它不是类型安全的——可以构建类似于代码示例中包含的一个奇怪结构。 对于C++,语言设计者通过添加一个新的“null pTR”类型来修复C++中的这个类型,它可以隐式地转换为任何指针类型,但是不能转换成整数类型。 |
![]() |
3
3
C FAQ 这应该能回答你所有的问题。
|
![]() |
4
2
严格地说,
所以,当你处理指针并想表示
|
![]() |
5
1
在这种情况下,代码实际上是:
|
![]() |
6
0
NULL不应该这样使用。NULL应与指针一起使用。 |
![]() |
7
0
将空指针常量赋值给int的结果与赋值相同
在没有初始值设定项的情况下,静态自动变量被初始化为
所以,循环先开始(
|
![]() |
8
0
不要把c中的空指针和某些动态语言中的可空类型或数量混淆起来。有相似的,但有不同的用途和意义。 在c中,NULL的概念只在指针的上下文中使用,而指针是指向 已知无效 内存位置(通常,但不总是,用零表示)。 这与表示不可设置性的类型或变量不同。请注意,这样的类型可以由用户在c中定义和管理,但不是由语言提供的。 |
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 6 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 7 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 7 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 7 月前 |