c语言指针

举报
泽宇-Li 发表于 2021/01/06 22:02:22 2021/01/06
【摘要】 指针指针的定义:指针是一个变量,用来存放地址的变量指针的类型:(1)基本类型:int 、short、long、float 、double、char如 int *p;//表示定义一个指针,这个指针指向整形变量,这个指针将存放的是整形变量的地址。**(2)数组指针:**指针指向一个数组int (*a)[10];//表示指针指向一个int型的长度为10的数组**(3)函数指针:**指针指向一个函数...

指针

指针的定义:

指针是一个变量,用来存放地址的变量


指针的类型:


(1)基本类型:int 、short、long、float 、double、char

如 int *p;//表示定义一个指针,这个指针指向整形变量,这个指针将存放的是整形变量的地址。


**(2)数组指针:**指针指向一个数组

int (*a)[10];//表示指针指向一个int型的长度为10的数组


**(3)函数指针:**指针指向一个函数

void (*a)();//表示指针指向一个无参数无返回值的函数


指针的引用:指针引用后得到的是该地址所对应的变量的值。


二级指针:指向一级指针地址的指针


指针的运算:

(1)指针+或者-一个数,表示指针加减这个数的类型所占内存的整数倍

如 int *p=a;

p=p+2; // 在VC6.0里面,实际上p加了2 * 4=8


(2)指针减去一个指针,表示两个指针之间所差的内存单元或者元素个数,两个指针相加没有意义


(3)关系运算,如果定义了两个指针变量p和q,并且都已经初始化了,

如果p==q,则表示p和q指向同一个地址

p>q,则表示p指向高地址而q指向低地址

也经常拿p和NULL做比较,用来表示指针当前的状态,这在数据结构中应用非常广泛,不如说链表的查找等等


指针和数组的关系:

指针和数组关系密切,数组可以通过指针去引用,数组可以存放指针,数组也可以由指针去访问,指针也能存放数组的地址

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。