c语言指针的定义

指针是怎么访问变量的?

 

字节是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位比特。在内存中,每个字节都有一个编号,用于通过标号找到存储区。可以说地址指向该变量单元。如下所示:

c语言指针的定义_第1张图片


所以当定义一个变量并为其赋值时,计算机就会自动寻找一块空间为变量存取变量值。在程序中一般是通过变量名来引用变量的值,实际上程序在编译的时候已经将变量名转换成了变量的地址,即通过变量名找到存储单元的地址,从而对存储空间进行存取的。

而指针就是通过地址来实现对变量的取值的。

指针通过存储变量的地址,就可以通过地址找到该变量的存储位置,从而读取存储单元里面的变量值。

 

指针的定义:

当定义一个指针时候,必须要在定义时候就指定指针类型(因为指针指向的变量类型不一致,变量所占的字节大小就有不同。所以只知道地址时不知到类型时,指针就不知道应该读取多少字节的数据才是正确的,所以必须指定类型),通过确定指针要指向的数据类型从而确定指针类型。如:

int *point ;

Point = &a;   //此处的&符号是取变量a的地址

或者在定义指针时同时初始化。

int *point = &a;  //point是指向int型变量a的指针变量

 

小贴士:

数组的名字代表的是数组的首地址。如:

int a[5]={1,2,3,4,5}

这里a代表数组的首地址。

Int *point = a;

另外如果是对int类型的指针p进行p++操作的话,假设未进行p++操作之前p指向的地址为10000的话,那么p++后p指向的地址为10004(因操作系统不同,int类型有2或者4个字节,这里假设int为4个字节)。

 

 

你可能感兴趣的:(c语言指针的定义)