变量如果不初始化,可以编译成功,但是执行的时候,很可能报错
每当一个应用程序打开时,操作系统为其分配内存,变量有内存地址
和内存单元,当应用程序初始化运行时,就会往内存单元里面写数据,
当操作系统回收的时候,并不清空内存单元,所以存在大量的垃圾数据。
如果变量不初始化,就会默认读取垃圾数据,有些垃圾数据就导致程序崩溃
数据类型的极限
#include<limits.h>代表所有数据类型的极限值,无符号的下限都是0 。例如char itcast = CHAR_MIN;
每当一个应用程序打开时,操作系统为其分配内存,变量有内存地址
和内存单元,当应用程序初始化运行时,就会往内存单元里面写数据,
当操作系统回收的时候,并不清空内存单元,所以存在大量的垃圾数据。
如果变量不初始化,就会默认读取垃圾数据,有些垃圾数据就导致程序崩溃
数据类型的极限
#include<limits.h>代表所有数据类型的极限值,无符号的下限都是0 。例如char itcast = CHAR_MIN;
#include<stdio.h>
#include<limits.h>
int main()
{
char c_min = CHAR_MIN;
char c_max=CHAR_MAX;
int n;//没有赋初值 是随机的
//unsigned char c2 = CHAR_MIN; //这个是无符号的 没有min就是0
unsigned char c = CHAR_MAX;
printf("n=%d\n",n);//因为n未赋值所以是随机的数字
printf("c_min=%d\n",c_min);//-128
printf("c_max=%d\n",c_max);//127
//printf("c2=%d\n",c2);//
printf("c=%d\n",c_max);//127
}