指针
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)();