c++ int类型默认值是多少?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ int类型默认值是多少?相关的知识,希望对你有一定的参考价值。

如果是定义的全局变量或者静态变量,未初始化的话就是0.如果是局部变量,那就是以前残留在堆栈里的随机值。

区分变量的类型,有两种情况。

1、局部变量。

局部变量在没有显式初始化时,其值C语言规范没做要求,可以是随机值,也可以是编译器随意给定的值。

比如gcc编译器的局部变量就是随机值,可能为任何值。而微软的编译器,如VC或VS,则会初始化为全c,即0xCCCCCCCC。

2、全局变量或静态局部变量。

所有的全局变量,即定义在函数外的变量,默认值为0。

所有的静态局部变量,即定义在函数内部的static int name形式的,默认初始化为0。

扩展资料:

定义方法:

inti;//定义整形变量i

inti=1;//定义整形变量i并初始化为1

定义常量:

const int i;//编译错误,因为常量需要给予一个初值

const int i=1;//定义常量i,值为1

Java定义常量:

final int i=1;//定义常量i,值为1

参考技术A 如果是定义的全局变量或者静态变量,未初始化的话就是0.如果是局部变量,那就是以前残留在堆栈里的随机值。本回答被提问者采纳 参考技术B 1. 在全局域中声明的变量会自动初始化为0
2. 如果变量是在局部域中定义的,则系统不会向它提供初始值0,这些对象被认为是未初始化,其值随机(有的编译器可能会为你初始化为0,但千万别依赖于这种可能行为,因为它会给你的程序带来未定义的行为)。
参考技术C 全局变量或者静态变量,未初始化的话会自动初始化为0,局部变量则为随机数 参考技术D 全局变量默认0,局部变量系统不进行初始化 。

C# 8 中的 Non-Nullable 引用类型的默认值是多少?

【中文标题】C# 8 中的 Non-Nullable 引用类型的默认值是多少?【英文标题】:What is the default value of Non-Nullable reference types in C# 8? 【发布时间】:2019-08-31 15:08:31 【问题描述】:

如果我启用可为空的引用类型,如果我这样声明,下面的字符串的值是多少?

string text;

【问题讨论】:

这也是我的问题。如果引用类型不可为空,为什么它们的默认值 null 大声笑 【参考方案1】:

值为null

请记住,可空引用类型的新系统只会警告您遇到问题,它不会给您错误,这意味着代码将仍在编译,但有警告。

如果你声明这个类:

public class Test
 
    private string text;

您的班级会收到此警告:

CS8618: Non-nullable field 'text' is uninitialized.

但是,代码仍然可以编译

为了(再次)回答您的问题,该字段的默认值为null

注意:如果你用那个语句来声明一个局部变量,答案是它不会有值,它会被认为肯定是未赋值的,并且你不能从该变量,直到您有适当的代码,使其首先明确分配。


至于警告与错误,您可以通过调整项目选项来选择将它们作为错误,并列出您希望被视为错误的警告。

【讨论】:

以上是关于c++ int类型默认值是多少?的主要内容,如果未能解决你的问题,请参考以下文章

可空类型“int”的默认值是多少? (包括问号)?

C语言中定义int变量,默认值是多少

(输入类型=)提交按钮的默认值是多少

C# 8 中的 Non-Nullable 引用类型的默认值是多少?

Swift 中基本布尔值的默认值是多少?

double java默认初值