c++-指针-创新互联
目录
分享标题:c++-指针-创新互联
网页地址:http://cdiso.cn/article/jeicj.html
- 声明与相关运算符
- 指针与地址
- 例子
- 指针运算
- 空指针
- 无类型指针
- const指针
1、数据类型 *变量名;
2、两种特殊运算符。
取操作数的内存地址&
取指针对应内存地址上的值 *
注意,内存地址上存储可能会是另一个操作数的指针,因为可以多重指针
1、地址是操作数或对象在内存中的起始位置,但并不能表征这个数的大小,这个地址上可能存整型,也可能存字符型等。
2、指指针除了地址以外,还有一个信息,表示了指向对象的类型,这样可以知道指向对象的大小。
int *x;//指向整型指针
char *x;//指向字符型指针
char *y[10];//指向字符的指针组成的数组,即指针数组
char (*x)[10];//一个指向字符数组的指针,即数组指针
int *f();//返回整型指针的函数
int (*f)();//指向返回整型量的函数的指针,即指针函数。
int (*x[3][2])();//指针数组,数组的每个元素为指向返回整型量的函数的指针
int *(*x)();//指向函数的指针,该函数的返回值为指向整型量的指针
指针运算1、数组指针
下面利用数组指针对二维元素进行访问。
#include#includeusing namespace std;
int main(){int x[][3]={1,2,3,4,5,6};
int (*p)[3];
for(p=&x[0];p<&x[2];p++){ cout<
1 2 3
4 5 6
5
==== Program exited with exit code: 0 ====
Time elapsed: 000:00.406 (MM:SS.MS)
Press any key to continue...
2、指针和整型量加减,表示增加或减少一个指针位(完成指针的位移),每个指针位相隔的距离由指针指向的数据类型决定,比如int型,32位,每个int* 的加减号完成32位的地址加减,即4个字节距离。
3、指针指向同一数据类型,可以进行大于、等于、小于等关系运算。
4、指针运算比数组运算要快
NULL
值 为0,使用==或!=来判定是否空指针 。
void *
const指针1、const * int
指针指向常量
2、int *const
指针是常量 ,指向的数据可以更改。
3、const int *const
指针和指向的数据都不能更改。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享标题:c++-指针-创新互联
网页地址:http://cdiso.cn/article/jeicj.html