指针++,指针记录指针地址,负下标引用

来源:互联网 发布:淘宝回复买家评论话语 编辑:程序博客网 时间:2024/06/07 02:33
#ifndef _TEST_H#define _TEST_H//理解透彻指针即地址,地址可以记录一个数据类型的地址,同时指针也是一种//数据类型,所以指针也可以记录一个指针的地址。#include <iostream>using namespace std;void main(){//指针的解引用*:取出指针存储的地址空间中存储的值,具体看数据类型长度而定//指针的加减p++:所加减的长度就是指针所指向的数据类型所占字节数的长度,会改变p的值为下一个指针//所指向类型存储空间的地址.(这里还有一个关键之处就是分清楚操作时哪个指针)//指针的下标p[-1]:作用就是取出*(p-1),不会改变p的值//反汇编指针加的时候是以字节为单位的//因为short为2B,且ptr为这个类型的指针,所以当ptr++之后指向下一个short单元//记录的是下一个short的地址short int a = 3;short int *ptr = &a;cout << ptr << endl;ptr++;cout << ptr << endl;//此时p是ptr的指针,记录的是ptr的地址,而ptr是一个指针类型即地址。32机器上//地址长度为4B,所以p++之后指向的是ptr之后下一个四字节的单元,记录是这个//单元的地址short int **p = &ptr;cout << p << endl;p++;cout << p << endl;short int b = p[-1][-1];cout << b << endl;}#endif //_TEST_H

原创粉丝点击