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

 我来答
水闰爱树木
高粉答主

2018-04-11 · 醉心答题,欢迎关注
知道小有建树答主
回答量:313
采纳率:100%
帮助的人:9.2万
展开全部

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<Nullable<int>> n


3、INT(数据类型

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

(2)定义方法:

Mr_Yang2012
推荐于2018-03-11 · TA获得超过1647个赞
知道小有建树答主
回答量:392
采纳率:0%
帮助的人:488万
展开全部
#include <stdio.h>
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++中对于整形变量而言定义的同时将会被赋予一个初始值(严谨起见我们认为这个值没有保证)。但是不管是怎么赋值,一个整形变量的值不可能为空,因此可以认为我们无法办到将一个整型变量赋值为空。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
beddy1
2012-11-26 · TA获得超过1988个赞
知道大有可为答主
回答量:2271
采纳率:0%
帮助的人:2188万
展开全部
当然不可以,楼上的别乱说。
null 在其它语言中其实相当于C++中的指针为NULL,而不是基本类型。基本类型不可能没有值。

即可以 int *pi = NULL;
而int i = NULL; 是错误的,因为在这种情况下 NULL 其实代表 0.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wineled
2012-11-26 · TA获得超过280个赞
知道答主
回答量:40
采纳率:0%
帮助的人:21.5万
展开全部
当然可以啦,如 int i =0;但是 是指针就不一定了,如果你把指针赋值为空的话,很可能在接下来的程序中出错。

int i =NULL; 这里的NULL 相当于 0;如何是vc 6.0的话。宏有定义!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蛇霏妹儿
2019-10-07
知道答主
回答量:13
采纳率:0%
帮助的人:7926
展开全部
首先定义一个整数类型变量,如:int a
然后赋值为0,如:int a=0,就可以了
谢谢
注意要在末尾加上分号!!!!!!!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式