在c++中可以为int类型赋空值吗?怎么赋呢?

2024-12-05 07:39:00
推荐回答(5个)
回答(1):

1、可空类型表示可被赋值为 null 值的值类型变量。无法创建基于引用类型的可空类型。(引用类型已支持 null 值。)。

2、为可空类型赋值与为一般值类型赋值的方法相同:

(1)如 int x = 10或 double d = 4.108;。

(2)如果基础类型的值为 null,请使用 System.Nullable.GetValueOrDefault 属性返回该基础类型所赋的值或默认值,例如 int j = x.GetValueOrDefault();

(3)请使用 HasValue 和 Value 只读属性测试是否为空和检索值,例如 if(x.HasValue) j = x.Value;如果此变量包含值,则 HasValue 属性返回 True;或者,如果此变量的值为空,则返回 False。

(4)如果已赋值,则 Value 属性返回该值,否则将引发 System.InvalidOperationException。
可空类型变量的默认值将 HasValue 设置为 false。未定义 Value。

(5)不允许使用嵌套的可空类型。将不编译下面一行:Nullable> n


3、INT(数据类型)

(1)在C语系编程语言(C、C++、C#、Java等)中,是用于定义整数类型变量的标示符。

(2)定义方法:

回答(2):

#include
int main(void)
{
int n = NULL;
return 0;
}
上面这段程序是用G++(一种C++语言的编译器)编译通过的,但是编译器会给出警告:
warning: initialization makes integer from pointer without a cas

我们将n的值输出,n为0 (注意,0是个整数,与空不等价啊)
有关NULL的宏定义在这里可以简单认为是: #define NULL 0
但是要注意了,这样的宏定义后的结果如果是赋给一个指针变量可以将指针的指向赋值为空,但是对于整形变量应该是不行的。C++中对于整形变量而言定义的同时将会被赋予一个初始值(严谨起见我们认为这个值没有保证)。但是不管是怎么赋值,一个整形变量的值不可能为空,因此可以认为我们无法办到将一个整型变量赋值为空。

回答(3):

当然不可以,楼上的别乱说。
null 在其它语言中其实相当于C++中的指针为NULL,而不是基本类型。基本类型不可能没有值。

即可以 int *pi = NULL;
而int i = NULL; 是错误的,因为在这种情况下 NULL 其实代表 0.

回答(4):

当然可以啦,如 int i =0;但是 是指针就不一定了,如果你把指针赋值为空的话,很可能在接下来的程序中出错。

int i =NULL; 这里的NULL 相当于 0;如何是vc 6.0的话。宏有定义!

回答(5):

首先定义一个整数类型变量,如:int a
然后赋值为0,如:int a=0,就可以了
谢谢
注意要在末尾加上分号!!!!!!!!!