本次文章将带大家了解C语言指针
指针,不是指的钟表上的指针,指针表示的是指向某元素的地址,就比如门牌号,就比如坐火车时我们要找的座位号,可以准确的指向我们要找的内存位置的坐标,就叫指针。
为了可以取出某元素的指针,C语言提供了一个操作符叫取地址操作符(&),对其定义的元素使用&时可以取出地址,放在指针变量里。
通过调试可以看到,i的地址取出来放到指针变量p中
同时补充下知识点,图中int*p中的*,指的是p的类型的int*类型,同时表示p是一个一级指针,可以用来存放地址。
同时,指针变量可以用来相加减,我们就用数组来演示:
我们知道,数组名表示首元素地址,我们将其加一放在指针变量ret中,再对ret解引用,取地数组中第二个元素的值打印出来,同时我们还学到了对指针变量前加*时,可以将内存中存储的信息取出,我们称为解引用,如果单单打印ret不用*,实际打印的将会是地址或者其他数据。
同时,指针变量是有大小的,这里直接说会比较抽象,直接上图:
可以看到,在x64和x86环境下指针变量大小是不一样的,
同时要注意的是,指针大小和指针类型是没有关系,只和平台有关系。