首页 > 编程知识 正文

指针 上 什么是指针指针类型指针运算等等,云上城是什么类型

时间:2023-05-05 02:58:44 阅读:241491 作者:741

1.什么是指针

指针是一个变量,变量里存的是地址,通过该地址可以找到一块空间。因此也将该地址形象化称为指针。

2.为什么存在指针

(1)指针是为了存放地址,地址是为了标示一块内存空间的。

(2)指针让内存访问更加方便。

(3)指针的大小在32平台上是4字节,在64位平台上是8字节。

3指针类型

指针类型:例如:char*,int*,float*都是4字节,都是type*的方式

char*类型的指针是为了存放char类型变量的地址

int*类型的指针是为了存放int类型变量的地址

4.指针运算:

(1)指针加减整数:指针的类型决定了指针+-1向后一次走多大距离,int*p,P+1向后走4个字节,char*p,p+1向后走1个字节

其实等于指针+-sizeof指针所指向元素类型

(2)指针解引用:指针类型决定了指针解引用访问几个字节。char*指针解引用访问一个字节,int*指针解引用访问4个字节

(3)指针关系运算:即指针比较,接下来看下图代码


可以看出此上两段代码都是给一个数组赋初值,而不同的是,第一段代码;用最后一个元素后面的元素的地址与数组内元素地址比较而。第二段代码用第一个元素前面元素的地址和数组内元素地址比较。在大多数平台下,两段代码都能运行成功但是后面一种不符合c语言编码规则。


(4)指针-指针:指针减指针代表两地址中间元素个数,而且必须保证前后指针同一类型,而且指向同一块空间。看下图,结果为9



5.二级指针:

存放一级指针的地址,如下图


二级指针可以解引用两次 先对ppa解引用可以找到pa,即*ppa就是pa,再对pa解引用找到a,即*pa就是a.

二级指针+1代表向后走type*个字节,也就是4字节。符合上面所讲的指针运算


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。