嵌入式Linux C编程 02

查看当前机器的各数据类型的取值范围,可查看文件“limits.h函数

2.2.四、枚举类型spa

enum 枚举名
{
    枚举值表
};

在32位机中地址长度都是32位,所以,不管哪一种类型的指针都占4个字节。指针

二、指针常量code

指针常量只有惟一的一个NULL(空地址)。对象

 

全局变量内存

(1)全局变量的定义和全局变量的声明并非一回事,全局变量定义必须在全部的函数以外,且只能定义一次,其通常形式为:作用域

[extern] 类型说明符 变量名, 变量名...

extern能够省略。it

全局变量的声明出如今要使用该变量的各个函数内。在整个程序中,可能出现屡次。编译

extern 类型说明符 变量名, 变量名...

全局变量在定义时就已经分配了内存单元,而且可作初始赋值。全局变量声明时不能再赋初始值,只是代表在函数内要使用某外部变量。class

(3)全局变量的内存分配是在编译过程当中完成的。

三、变量的存储方式

静态存储 和 动态存储

生存期 和 做用域

存储类型:

  • auto 自动变量(动态)
  • static 静态变量(静)
  • register 寄存器变量(动态)
  • extern 外部变量(静)

一、函数内凡未加存储类型说明的变量均视为自动变量,也就是说自动变量可省去说明符auto。

静态局部变量 和 静态全局变量

const int *a;
int * const a;

第一条,修饰指针a所指向的地址,没法经过指针a来修改其指向的对象的值。可是a这个指针自己的值(地址)能够改变,即指向其余对象。

第二条,修饰的是指针a。(地址)不可改变。

 

2.4.七、sizeof操做符

单目运算符;运算对象是变量或数据类型;结果为一个整数。

变量占用内存空间的字节数。

 

结构体

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释放

2.八、_attribute_机制介绍

_attribute_语法格式:

_attribute_ ((attribute-list))
相关文章
相关标签/搜索