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

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

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

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

1、局部变量。

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

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

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

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

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

扩展资料:

int是一种数据类型,在编程语言(C、C++、C#、Java等)中,是用于定义整数类型变量的标识符。

目前在一般的电脑中,int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1]

在之前的微型机中,int占用2字节,16比特,数据范围为-32768~32767[-2^15~2^15-1]

定义方法:

int i//定义整形变量i

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

定义常量

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

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

Java定义常量:

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

参考资料来源:百度百科-INT (数据类型)

C语言不支持默认参数,不过可以用宏来模拟:

//---------------------------------------------------------------------------

#include <stdio.h>

#define DEFAULT 40 /*默认参数值*/

#define FUN(A) fun(#A##"-")/*用于实现默认参数的宏*/

int f(int n) /*用于实验默认参数的函数*/

{

return printf("%d\n",n)

}

int fun(const char *a)/*确定函数调用的函数,返回值类型要和实际需要调用的f()函数返回值类型一致*/

{

int n/*变量的类型要和f()函数参数的类型一样*/

if (a[0]=='-') n=DEFAULT

else sscanf(a,"%d",&n)

return f(n)

}

int main(void)

{

FUN()

FUN(67)

return 0

}

//---------------------------------------------------------------------------


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11089000.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存