coursera学习——指针

廉价感情. 提交于 2020-01-24 22:40:47

一、一位数组与指针
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为加4char为加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]的指针
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!