所谓指针

xiaoxiao2021-02-28  53

      通过对c的学习,个人认为,指针就是一个帮助连接两个地址的工具。换言之,就是一个利用地址通过它找出存放在储存器里面的另外一个值。

      做一个简单的比喻,电脑就像是一本书,书里面存放着许许多多的知识,而指针,就像是夹在书里面的书签一样,根据书签放置的页码,我们可以通过这个“书签”进行快速的查找和调用,以此来获取存放在那一页的知识。

      这个书签,就是指针,而书签放置的页码,就是地址了。

      和c中其他的变量一样,指针也是有数据类型的,下面简单举例:

(1)int*ptr; (2)char*ptr; (3)int**ptr; (4)int(*ptr)[3]; (5)int*(*ptr)[4]; 从语法的角度看,只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。 (1)int*ptr;//指针的类型是int* (2)char*ptr;//指针的类型是char* (3)int**ptr;//指针的类型是int** (4)int(*ptr)[3];//指针的类型是int(*)[3]

(5)int*(*ptr)[4];//指针的类型是int*(*)[4]

通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。

从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。例如:

(1)int*ptr; //指针所指向的类型是int(2)char*ptr; //指针所指向的的类型是char(3)int**ptr; //指针所指向的的类型是int*(4)int(*ptr)[3]; //指针所指向的的类型是int()[3](5)int*(*ptr)[4]; //指针所指向的的类型是int*()[4]

未完......

转载请注明原文地址: https://www.6miu.com/read-2623532.html

最新回复(0)