有关指针和C语言中的常量

 

常量类型(五种):spa

字面常量(2,3,6....) ;                           enum 定义的枚举常量;操作系统

字符常量('a','b'....) ;                          const 定义的常变量;指针

#define 定义的 宏常量.内存

 

' * ' 的功能:变量

1): * 在两个变量或常量之间  =>  表示乘法 (a*b,a*10 ...);引用

2):* 左边是类型,右边是变量时 => 表示声明 声明该变量为一个指针变量;co

3)* 左边为空右边为指针变量时 => 表示解引用(指向) .字符

 

指针相关:background

1) 定义指针变量时,系统会将*和变量相结合 =>(int* p,r;//定义了一个指针变量p,一个整形变量);枚举

2) 定义/使用指针时要注意(野指针\空指针\失效指针)尤为是野指针!所以要将指针初始化(*p=NULL);

3) 指针大小在32位操做系统占4字节,64位操做系统占8字节;

4) 使用指针变量,要明确指针自己的值(存储的是地址) , 以及指针指向的值(指针变量所指的实体)(解引用);

5) 指针类型决定了指针的加一的能力.(p = p + 1  =>  p = p + sizeof(typename)*1);

6) 指针类型决定了指针对内存操做的能力.

 

const 和指针

const  int *p = &a     const 在 * 的左边,const 修饰的是指针的指向能力.等价于  int const *p = &a,即不可更改*p的值,可是能够更改p自己的值: p=&b true,但*p = 200 false

int * const p =&a       const 在 * 的右边,const 修饰的是指针自身的值,即不可更改p自己的值,但能够更改*p的值 p=&b false,但*p = 200 true.

相关文章
相关标签/搜索