1.
基本数据类型分析: 数据类型可以理解为固定内存大小的别名。数据类型是创建变量的模子。
类型的本质:1 byte char
2 byte short
4 byte int
变量本质:
变量是一段实际连续存储空间的别名。
程序中通过变量来申请并命名存储空间。
通过变量的名字可以使用存储空间
2.
auto,static,register 分析
c语言中的变量可以有自己的属性。
在定义变量的时候可以加上“属性”关键字。
“属性”关键字指明变量的特有意义。
auto即c语言中局部变量的默认属性。
编译器默认所有的局部变量都是auto的。
static关键字指明变量的“静态”属性
static关键同时具有“作用域限定符”的意义。
static修饰的局部变量存储在程序静态区
static的另一个意义是文件作用域标示符
---static修饰的全局变量作用域只是声明的文件中。
---static修饰的函数作用域只是声明的文件中。
register关键字指明将变量存储于寄存器中。
register只是请求寄存器变量,但不一定请求成功。
register变量的必须是CPU寄存器可以接受的值
不能用&运算获取register变量的地址。
基本数据类型分析: 数据类型可以理解为固定内存大小的别名。数据类型是创建变量的模子。
类型的本质:1 byte char
2 byte short
4 byte int
变量本质:
变量是一段实际连续存储空间的别名。
程序中通过变量来申请并命名存储空间。
通过变量的名字可以使用存储空间
#include <stdio.h>
int main()
{
char c = 0;
short s = 0;
int i = 0;
printf("%d, %d\n", sizeof(char), sizeof(c));
printf("%d, %d\n", sizeof(short), sizeof(s));
printf("%d, %d\n", sizeof(int), sizeof(i));
return 0;
}
2.
auto,static,register 分析
c语言中的变量可以有自己的属性。
在定义变量的时候可以加上“属性”关键字。
“属性”关键字指明变量的特有意义。
auto即c语言中局部变量的默认属性。
编译器默认所有的局部变量都是auto的。
static关键字指明变量的“静态”属性
static关键同时具有“作用域限定符”的意义。
static修饰的局部变量存储在程序静态区
static的另一个意义是文件作用域标示符
---static修饰的全局变量作用域只是声明的文件中。
---static修饰的函数作用域只是声明的文件中。
register关键字指明将变量存储于寄存器中。
register只是请求寄存器变量,但不一定请求成功。
register变量的必须是CPU寄存器可以接受的值
不能用&运算获取register变量的地址。
#include <stdio.h>
int main()
{
auto int i = 0;
register int j = 0;
static int k = 0;
return 0;
}