快捷搜索:  汽车  科技

10分钟掌握c语言指针(CC知识分享)

10分钟掌握c语言指针(CC知识分享)指针常量指向常量的指针变量指向类的非静态成员的指针指向类的静态成员的指针void类型的指针

10分钟掌握c语言指针(CC知识分享)(1)

文章目录

指针与变量

指针与数组

指针与函数

指针与对象

指向类的非静态成员的指针

指向类的静态成员的指针

void类型的指针

指向常量的指针变量

指针常量

指针与变量

Int p; //这是一个普通的整型变量.

int *p; //首先从P 处开始 先与*结合 所以说明P是一个指针 然后再与int结合 说明指针所指向的内容的类型为int型.所以P是一个返回整型数据的指针。

指针与数组

int p[3]; //首先从P 处开始 先与[]结合 说明P是一个数组 然后与int结合说明数组里的元素整型的 所以P是一个由整型数据组成的数组.

int *p[3]; //首先从P 处开始 先与[]结合 因为其优先级比*高 所以P是一个数组 然后再与*结合 说明数组里的元素是指针类型 然后再与int结合 说明指针所指向的内容的类型是整型的 所以P是一个由返回整型数据的指针所组成的数组.

int (*p)[3]; //首先从P 处开始 先与*结合 说明P 是一个指针然后再与[]结合(与”()”这步可以忽略 只是为了改变优先级) 说明指针所指向的内容是一个数组 然后再与int 结合 说明数组里的元素是整型的.所以P是一个指向由整型数据组成的数组的指针.

指针与函数

int p(int); //从P 处起 先与()结合 说明P 是一个函数 然后进入()里分析 说明该函数有一个整型变量的参数然后再与外面的int结合 说明函数的返回值是一个整型数据.

Int (*p)(int); //从P 处开始 先与指针结合 说明P 是一个指针 然后与()结合 说明指针指向的是一个函数 然后再与()里的int结合 说明函数有一个int 型的参数 再与最外层的int结合 说明函数的返回类型是整型 所以P 是一个指向有一个整型参数且返回类型为整型的函数的指针.

调用:p(实参)

指针与对象

Point p;//声明一个Point类对象

Point *Ptr=&p; //声明一个指向Point类对象p的指针Ptr通过指针调用对象成员

Ptr->数据成员名((*Ptr).数据成员名)Ptr->函数成员名((*Ptr).函数成员名)

指向类的非静态成员的指针

1声明

–声明指向公有数据成员的指针类型说明符 类名::*指针名;

–声明指向公有函数成员的指针类型说明符 (类名::*指针名)(参数表);

2指向

–指针指向数据成员指针名=&类名::数据成员名;

–指针指向函数成员指针名=类名::函数成员名;

3调用

–通过对象名(或对象指针)与成员指针结合来访问数据成员

对象名.* 类成员指针名 或:

对象指针名—>*类成员指针名

–通过对象名(或对象指针)与成员指针结合来访问函数成员

(对象名.* 类成员指针名)(参数表) 或:

(对象指针名—>*类成员指针名)(参数表)

指向类的静态成员的指针

对类的静态成员的访问不依赖于对象

可以用普通的指针来指向和访问静态成员

static int countP; //静态数据成员引用性说明

int Point::countP=0; //静态数据成员定义性说明

int *count=&Point::countP;

cout<<" Object id="<<*count<<endl;

this指针(指向当前对象的指针)

–当通过一个对象调用成员函数时,系统先将该对象的地址赋给this指针,然后调用成员函数,成员函数对对象的数据成员进行操作时,就隐含使用了this指针。

void类型的指针

void *pv; //可以声明void类型的指针

int *pint; int i;

pv = &i; //void类型指针指向整型变量

pint = (int *)pv; // void指针赋值给int指针需要类型强制转换

指向常量的指针变量

格式: const 类型标识符 *指针变量名;

通过该指针变量只能读取它所指的常量的值

不能通过指针变量来改变指对象的值,但指针变量本身值可以改变,可以指向另外的对象。

指针常量

格式:

类型标示符 *const 指针变量名=初始指针值;

该种指针在定义时必须初始化,指针本身的值不能被改变 但可以通过它对其所指变量的值读取或修改。

————

写在最后:对于准备学习C/C 编程的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!

编程学习书籍分享:

10分钟掌握c语言指针(CC知识分享)(2)

编程学习视频分享:

10分钟掌握c语言指针(CC知识分享)(3)

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

对于C/C 感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些C/C 的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!

猜您喜欢: