查看当前机器的各数据类型的取值范围,可查看文件“limits.h”函数
2.2.四、枚举类型spa
enum 枚举名 { 枚举值表 };
在32位机中地址长度都是32位,所以,不管哪一种类型的指针都占4个字节。指针
二、指针常量code
指针常量只有惟一的一个NULL(空地址)。对象
全局变量内存
(1)全局变量的定义和全局变量的声明并非一回事,全局变量定义必须在全部的函数以外,且只能定义一次,其通常形式为:作用域
[extern] 类型说明符 变量名, 变量名...
extern能够省略。it
全局变量的声明出如今要使用该变量的各个函数内。在整个程序中,可能出现屡次。编译
extern 类型说明符 变量名, 变量名...
全局变量在定义时就已经分配了内存单元,而且可作初始赋值。全局变量声明时不能再赋初始值,只是代表在函数内要使用某外部变量。class
(3)全局变量的内存分配是在编译过程当中完成的。
三、变量的存储方式
静态存储 和 动态存储
生存期 和 做用域
存储类型:
一、函数内凡未加存储类型说明的变量均视为自动变量,也就是说自动变量可省去说明符auto。
静态局部变量 和 静态全局变量
const int *a; int * const a;
第一条,修饰指针a所指向的地址,没法经过指针a来修改其指向的对象的值。可是a这个指针自己的值(地址)能够改变,即指向其余对象。
第二条,修饰的是指针a。(地址)不可改变。
单目运算符;运算对象是变量或数据类型;结果为一个整数。
变量占用内存空间的字节数。
结构体
struct 结构体名 { 类型 成员名; 类型 成员名; ... } 结构体变量名;
结构体名是结构体的标识符,不是变量名。
struct person { char name[8]; int age; } p1;
struct person { char name[8]; int age; }; struct person p1;
void *malloc(size_t size); free释放
_attribute_语法格式:
_attribute_ ((attribute-list))