v20.questions set 3

1.十六进制

int var = 0x43FF(或者写成0X43FF)

在数字之前加0x or 0X表示这个数字是16进制的,如果要打印成16进制,使用%x对应打印43ff,或者使用%X对应打印43FF。如果使用%d,对应打印成十进制。

2.c语言的内存段

v20.questions set 3_第1张图片v20.questions set 3_第2张图片

3.关于同名变量的定义

--嵌套型,局部变量优先。

v20.questions set 3_第3张图片

--全局变量是否初始化 很重要,未初始化可以接着定义,但是不能重新定义。

v20.questions set 3_第4张图片

v20.questions set 3_第5张图片 --同一代码块内(局部变量)未初始化不可接着定义。v20.questions set 3_第6张图片

 4.important question

 

 初始化:声明变量的同时提供值

未初始化的变量将会储存在bss段;

将变量初始化为0,变量还是储存在bss段;

将变量初始化为0以外的值,变量会储存在已初始化数据段。

v20.questions set 3_第7张图片

 第一行,i储存到bss,

第二行,i从bss段到数据段,

第三行,不改变。一旦初始化,变量将被存到数据段,并且无法再次进行初始化。

注意,嵌套代码块的同名变量是一个变量!局部变量优于全局变量!

除了extern变量,其他的默认值都为0。

你可能感兴趣的:(笔记)