一、一位数组与指针
1.变量三要素:地址(指向这个变量的指针)、值、名字。
2. &:取变量的地址
int a=0;
cout<<&a;//打印a变量起始地址(a的地址为4B,即地址长度、指针为4B)
3.*:取指针(地址)的值
cout<<*&c;//取地址为&c的变量的值(*&c=c)
4.指针变量:存放指针(地址)的变量
int *pointer=NULL;//赋初值
//指针变量的定义,pointer指向的c为int型,因此*pointer为int型
pointer=&c;//pointer指向c(或者直接定义 int *p=&c) pointer变量值为c变量的地址
//*pointer=c
5.运算:高(只低于a+±-)
int *p=NULL;
(*p)++ ≠ *p++(原来指向0x0012FF71,++后指向0x0012FF75,int为加4,char为加1)
6.数组
int a[5]={0};//数组名=指向数组第一个元素的指针
int *p=&a[0];//a++无意义 p++有变化,p可以指向数组元素外的元素
二、字符串与指针
1.定义
char a[10];
char *p;p=a;//p为指向a的指针
cout<<p;//打印的不是a的地址,而是字符数组a的值(从p指向处出发的所有内容)
p="hello";//p指向字符串"hello"
2.分析
char a[5]="abc";
char *p;
p="hello";
cout<<p;//hello
p++;
cout<<p;//ello
cout<<*p;//e
p=a;
cout<<p;//abc
cout<<a;//abc
3.指向数组的指针
int a[5]={0};
//a为指向a[0]的指针;&a为指向整个a[5]的指针
来源:CSDN
作者:bajiaoyu517
链接:https://blog.csdn.net/bajiaoyu517/article/details/103913865