#ifndef _TEST_H
#define _TEST_H
//关键之处在于:
//1.理解透彻指针即地址,地址可以记录一个数据类型的地址,同时指针也是一种
//数据类型,所以指针也可以记录一个指针的地址。
//2. Char*的特殊之处,直接打印的时候输出的应该是这个指针指向的一个字符串,
//以’\0’标识字符串的结束
#include <iostream>
#include <windows.h>
#include <string>
#include <stdlib.h>
using namespace std;
void main()
{
//指针的解引用*:取出指针存储的地址空间中存储的值,具体看数据类型长度而定
//指针的加减p++:所加减的长度就是指针所指向的数据类型所占字节数的长度,会改变p的值为下一个指针
//所指向类型存储空间的地址.(这里还有一个关键之处就是分清楚操作时哪个指针)
//指针的下标p[-1]:作用就是取出*(p-1),不会改变p的值
//反汇编指针加的时候是以字节为单位的
/*double a = 3;
double *ptr = &a;
ptr++;
double **p = &ptr;
p++;
double b = p[-1][-1];*/
//cout和printf输出字符串的时候都是以\0为标识一个字符串的结束
/*char ch[] = "hello\0world";
cout << ch << endl;
printf("%s\n",ch);*/
//过程为创建一个数组c,每个元素都是一个字符的地址(一个字符指针)。
char *c[] = {"ENTER","NEW","POINT","FIRST"};
//创建一个数组cp,每个元素都是一个地址,这个地址记录了一个字符地址。
char **cp[] = {c+3,c+2,c+1,c};
//记录一个地址,这个地址记录了一个地址的地址,被记录地址的地址记录的是一个字符的地址。
char ***cpp = cp;
cout << sizeof(c[0
指针操作:加减、解引用、下标操作
最新推荐文章于 2025-07-28 14:45:16 发布