#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <Windows.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <math.h>
//指针运算:
//
//1.指针 +- 整数
//
//2.指针 - 指针 = 两指针间元素个数 + 1(即arr[9] - arr[0] == 9)
// 两指针能相减的前提是它们指向同一块空间
//
//3.指针 + 指针 -> 无意义
//int main()
//{
//
// int arr[2] = { 0 };
//
// //for (int* ap = arr; ap <= &arr[1]; ap++)//数组名是地址
// // //但数组元素名前要加&
// //{
//
// // *ap = 1;
//
// //}//缺点在于最后一步ap > arr[1]
//
// for (int i = 0; i <= 1; i++)//这样写更好:不改变p的同时,完成了任务
// {
//
// *(arr + i) = 1;
//
// printf("%d ", *(arr + i));
//
// }//for (int i = 0; i <= 1; i++)
//
// return 0;
//
//}
//int main()
//{
//
// int arr[2] = { 0 };
//
// for (int i = 0; i < 1; i++)
// {
//
// *(arr + i) = 1;
//
// printf("%d ", *(arr + i));//1
//
// printf("%d ", *(arr + i + 1));//0
// //数组名在进行运算时也相当于首元素地址
//
// }//for (int i = 0; i <= 1; i++)
//
// return 0;
//
//}
//arr[2]可写成2[arr],都被编译器转化为 *(arr + 2)
//二级指针:
//
//int a = 0;
//
//int* pa = &a;
//
//int** p_pa = &pa;
//
//其中 *p_pa == pa;
// **p_pa == a;
//指针数组:存放指针的数组
//int* pa[5] -> 存放整形指针的数组