首页 > 编程知识 正文

定义一个数组指针,c语言定义指针变量

时间:2023-05-03 07:05:31 阅读:107525 作者:2352

指针是什么?

在计算机中,所有的数据都存储在存储器里。 一般将存储器内的1个字节称为1个存储器单元,数据类型不同,占用的存储器单元的数量也不同。 例如,完整大小为4个单元,字符大小为1个单元等。 要正确访问这些内存单元,必须对每个内存单元进行编号。 可以从一个存储器单元的编号中准确地找到该存储器单元。 存储器单元的编号也称为地址。 根据存储器单元的编号和地址可以找到所需的存储器单元,因此通常也称为指针。

可以用简单的例子说明这些关系。

我们去银行取钱的时候,银行的工作人员会根据我们的账号去找我们的存款单,找到后在存款单上写下存款、取款的金额。 其中,账号是存款的指针,存款数是存款的内容。 对于存储器单元来说,单元的地址是指针,其中存储的数据才是该单元的内容。

什么是指针变量?

在c语言中,可以用称为指针变量的变量存储指针。 指针变量的值是存储单元的地址或称为存储单元的指针。 变量的指针是变量的地址。 存储变量地址的变量是指针变量。

访问变量的两种方法

通过变量名直接访问

在同一范围内,变量名是唯一的,不允许出现两个变量名相同的变量。 此变量名与变量的地址一一对应。 也可以理解为变量名是变量的地址。 这种通过变量名访问变量的方式称为直接访问。

通过指针变量进行间接访问

检索指针变量的值(从定义中可以看出,指针变量的值是某个变量的地址),然后根据该地址访问相应的变量。 这种访问方法称为间接访问。

如何显示指针变量

指针变量的定义有以下三种。

指针类型说明(基本类型);

指针变量标识符*;

指针变量名称;

在c语言中,使用*标记指针变量。 根据使用场合的不同,*表示的意思也不同。 请看以下代码:

入主(void ) )。

{

int a=10;

//定义指针变量p时使用*,*表示变量p时的指针变量

int * p=a;

//此时,使用*表示"正在指示",取出指针变量p指示的值,即a的值

printf(%d(n ),*p );

返回0;

}

为什么必须在指针变量中指定基类型?

指针变量存储地址,地址在内存中是唯一的,因此在同一时刻两个变量不能占用同一个地址。 那么,为什么要添加基类型呢? 到地址收款就不够了吗?

请记住,不同的数据类型占用的内存字节数和存储方法不同。 例如,int消耗4个字节,而char只消耗1个字节。 为了根据存储单元的长度和存储形式正确取出数据,需要知道数据类型。 例如,定义一个int类型的变量,假设它占用的存储单元为2000~2004,则其地址为2000,系统需要检索后面三个单元的数据,需要知道它是指向int类型的指针变量。

因此,可以得出结论,指针变量有两个方面:用存储单元编号表示的地址和指向存储单元的数据类型。

轻松使用指针变量

*为了取值,从指针变量中取出指针所指变量的值;

为了取地址符号,取出变量的地址;

查看代码:

入主(void ) )。

{

int a=10;

//获取变量a的地址,代入指针变量p

int *p=a;

//从指针变量p中取出a的值并分配给b

int b=*p;

返回0;

}

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