实例测试1--DEV-C++环境 :

#include <stdio.h>
//全局整形变量
int int_var1;
static int stc_int_var1;
short int sht_int_var1;
long int log_int_var1;
//全局指针变量
char *int_opt1;int main()
{//局部整形变量 int int_var2;static int stc_int_var2;short int sht_int_var2;long int log_int_var2;//局部指针变量char *int_opt2;//局部指针变量不初始化打印不出来 printf("int_var1=%d,stc_int_var1=%d,sht_int_var1=%hd,log_int_var1=%ld,int_opt1=%s\n", int_var1, stc_int_var1, sht_int_var1, log_int_var1, int_opt1);//全局变量 printf("int_var2=%d,stc_int_var2=%d,sht_int_var2=%hd,log_int_var2=%ld,int_opt2=%s\n", int_var2, stc_int_var2, sht_int_var2, log_int_var2, int_opt2);//局部变量 return 0;
} 

修改:将局部字符指针初始化 char *int_opt2 = NULL;

总结1:

Dev-C++环境下,全局未初始化变量均设置为默认值(int类型默认值0;字符指针默认null)

局部未初始化变量,整形设置默认值0;指针未初始化变量不打印不报错!

实例测试2--GCC环境

#include <stdio.h>
//全局整形变量
int int_var1;
static int stc_int_var1;
short int sht_int_var1;
long int log_int_var1;
//全局指针变量
char *int_opt1;int main()
{//局部整形变量 int int_var2;static int stc_int_var2;short int sht_int_var2;long int log_int_var2;//局部指针变量char *int_opt2;printf("int_var1=%d,stc_int_var1=%d,sht_int_var1=%hd,log_int_var1=%ld,int_opt1=%s\n", int_var1, stc_int_var1, sht_int_var1, log_int_var1, int_opt1);//全局变量 printf("int_var2=%d,stc_int_var2=%d,sht_int_var2=%hd,log_int_var2=%ld,int_opt2=%s\n", int_var2, stc_int_var2, sht_int_var2, log_int_var2, int_opt2);//局部变量 return 0;
} 

修改:随机去掉两个局部变量

总结2:

GCC环境下,全局未初始化变量设置默认值(int类型默认值0;字符指针默认null)

局部未初始化变量有时设置随机值或者默认值

实例测试3--VS2013环境:

总结3:

VS2013环境,全局未初始化变量设置默认值(int类型默认0,指针默认null)

局部未初始化变量只定义不使用(警告);定义+使用(报错)

总结:

1. 局部变量未初始化,初值为随机值:C规范对该初值并没有做规定,具体实现由编译器决定。

2.全局变量未初始化,默认设置为初值。

3.局部未初始化变量,编译通过与否与具体编译环境相关。

结论:无论任何时候,变量初始化!

C语言中变量未初始化的处理相关推荐

  1. 在c语言中函数的定义变量的值为,变量定义(C语言中变量的声明和定义)

    变量定义(C语言中变量的声明和定义),哪吒游戏网给大家带来详细的变量定义(C语言中变量的声明和定义)介绍,大家可以阅读一下,希望这篇变量定义(C语言中变量的声明和定义)可以给你带来参考价值. 3.函数 ...

  2. 在c语言中 使用变量的要求,关于C语言中变量的探讨

    摘 要: 在所有的计算机高级语言中,都存在着变量这样一个重要的概念.变量是计算机高级语言程序的重要成分之一.与其他语言中的变量相比,C语言中的变量所包含的内容更为丰富,包括变量的定义.数据类型.变量数 ...

  3. C语言中变量的静态分配(Static)和动态分配(StackHeap)

    目录 C语言中变量的静态分配(Static)和动态分配(Stack&Heap) 变量的静态分配 包含了哪些变量? 全局变量和局部变量(staic关键字) 通过一个例子进行诠释 变量的动态分配 ...

  4. C语言中变量的作用域

    C语言中变量的作用域 C语言中所有变量都有自己的作用域,申明变量的类型不同,其作用域也不同.C语言中的变量,按照作用域的范围可分为两种, 即局部变量和全局变量. 一.局部变量 局部变量也称为内部变量. ...

  5. C语言中变量的储存类别

    C语言中变量的储存类别 C语言中变量的储存类别 1.动态存储方式与静态动态存储方式: 从变量值存在的作时间(即生存期)角度来分,可以分为静态存储方式和动态存储方式. 静态存储方式:是指在程序运行期间分 ...

  6. [转载] Java 语言中的实例初始化块 ( IIB) 详解

    参考链接: Java中的实例初始化块(IIB) 在 Java 语言中的类初始化块 文章中我们简单的介绍了下 Java 中的实例初始化块 ( IIB ).不过我觉得介绍的有点简单了,于是,再写一篇文章详 ...

  7. java里的初始化块_[转载] Java 语言中的实例初始化块 ( IIB) 详解

    参考链接: Java中的实例初始化块(IIB) 在 Java 语言中的类初始化块 文章中我们简单的介绍了下 Java 中的实例初始化块 ( IIB ).不过我觉得介绍的有点简单了,于是,再写一篇文章详 ...

  8. 单片机c语言字符,单片机C语言中变量的定义方法解析

    描述 1.C语言中变量的定义方法 -C语言中变量定义语法为: #pragma rambank0 :即以关键词#pragma开始,rambank0指明资料区块为第0块. unsigned char m_ ...

  9. java语言变量分为_在Java语言中变量分为四种,分别是___________________________________________。_学小易找答案...

    [填空题]One day, at the registrar's office of a college, I noticed how parents are behaving with their ...

最新文章

  1. cocos2d-x一些核心概念介绍
  2. 在虚幻UE4中不同VR头盔的FOV和分屏处理
  3. Java中的冒泡排序(减少比较次数)
  4. C# Gabbage Collecting System
  5. PMP杂谈--PMP中一些easy忽视的地方
  6. iOS网络 AFN简单的下载 与 session下载带进度数据
  7. 解决远程服务器ssh登陆慢等问题
  8. 二叉树非递归遍历算法(II)中序
  9. Windows 10安裝.net Framework 3.5出現0X800F0954錯誤
  10. When I started loving myself 当我开始爱自己 ——查理·卓别林
  11. 超五类屏蔽双绞线和计算机电缆区别,超五类单屏网线和六类单屏蔽网线的区别是什么?...
  12. 利用vuex关闭当前tab页签
  13. 正则表达式re库 python3
  14. 微信小程序提取汉字字母大写
  15. Python批量处理图片名
  16. PHP socket demo
  17. 【Vim】学习笔记四 多文件编辑、可视模式、视窗操作
  18. 复杂网络多局域世界模型matlab算法实现
  19. 计算机局域网采用的数据传输系统,两台win7系统电脑怎么使用局域网传输文件...
  20. 数据仓库概念和项目架构

热门文章

  1. IC学习笔记19——Gvim的简易操作
  2. 封装自己专属的真正的纯净版Windows系统过程记录(2)——使用习惯设置,软件安装与优化设置
  3. improper fixup
  4. jQuery选择器大全总结
  5. php网站设计窍门,PHP网站设计思路
  6. 骁龙相机动态设置选项卡
  7. 智能家居控制面板:让AI技术为您的家庭带来更多智能化服务
  8. rmxp4droid 2.4最终版(20131003)
  9. 通过windows自带的命令查看笔记本电脑的电池状态
  10. davinci DM365-DM368开发攻略—linux-2.6.32移植