代码改变世界

指针

2016-01-01 13:52  迷你天才  阅读(155)  评论(0编辑  收藏  举报

只能对指针作如下操作

1.      在指针中存储从其中读取被引用类型的地址

2.      改变或读取改地址中的内容(间接访问)

3.      在指针上加上或减去一个整数(数组中用)

4.      与另一个指针相减作比较(当两个指针都在同一个数组中时)

5.      给指针赋值或与空指针作比较

6.      作为参数传递给函数 该函数期望一个指向引用类型的指针作为参数

 

重要原则一 指针是个地址

 

指针的运算规则 归结为下面的一个公式

p±q==char*p±n*sizeof*p

 

const 指针

 

重要原则二   *a+i=a[i];

 

数组名即为指针 需要注意的是 一个数组名是不可改变的左值

数组作为参数 传递了函数指向数组的第一个元素的指针

Int a[]int b意义相同

 

字符串数组

1.      指针数组

Char* string[]={“hhh”,”hkjo”,”hljlk;”}

2.      二维数组

Char arry[][5]={“kjl”,”jl”,”fff”}

 

对于二维数组的数组指针的转换(int*p[3][4]

表达式

类型

 

a

3个由4个整型元素组成的数组的二维数组

 

a+1

指向具有4个整形元素的指针

 

a[1]

具有4个整型元素的数组

 

a[1]+1

指向整型的指针

 

a[1][1]

整型

 

 

指向函数的指针

Int *P)();