C语言学习——指针(定义、变量的指针和指向变量的指针变量)

目录

十、指针

10.1地址和指针的概念

10.2变量的指针和指向变量的指针变量

定义一个指针变量

指针变量的引用

指针变量作为函数参数


十、指针

10.1地址和指针的概念

我们要想了解什么是指针,就必须弄清楚数据在内存中是如何存储的,又是如何读取的。

如果在程序中定义了一个变量,在对程序进行编译时,系统就会给这个变量分配内存单元。编译系统根据程序中定义的变量类型,分配一定长度的空间。例如,一般为整型变量分配2个字节,对单精度浮点型变量分配4个字节,对字符型变量分配1个字节。内存区的每一个字节都有一个编号,这就是“地址”,它相当于旅馆中的房间号。在地址所标志的内存单元中存放数据,这相当于旅馆房间中居住的旅客一样。

区别:内存单元的地址和内存单元的内容。

内存单元的地址是用来定位内存中的特定位置的,而内存单元的内容则是存储在那个位置上的实际数据。通过地址可以访问和修改内容,而内容则是程序和操作系统实际处理的数据。

在程序中,一般是通过变量名来对内存单元进行存取操作的。但其实程序经过编译后已经将变量名转换为变量的地址,对变量值的存区都是通过地址进行的

直接访问和间接访问的区别:

直接访问:指程序或硬件通过内存地址直接访问内存中的数据。访问过程简单快捷,因为地址直接指向数据所在的位置。例如:

int arr[10]; // 数组声明
arr[2] = 5;  // 直接访问数组第3个元素

间接访问:通过一个中间的指针或索引来访问内存中的数据。实际的数据位置由指针或索引间接确定。例如:

int arr[10];
int *ptr = arr;  // 指针指向数组
*(ptr + 2) = 5;  // 通过指针间接访问数组第3个元素

指针:一个变量的地址称为该变量的“指针”。

指针变量:用一个变量专门存放另一个变量的地址(即指针)。

指针变量的值(即指针变量中存放的值)是地址(即指针)。

指针是一个地址,而指针变量是存放地址的变量。

10.2变量的指针和指向变量的指针变量

变量的指针就是变量的地址。

存放变量地址的变量就是指针变量,它用来指向另一个变量。

为了表示指针变量和它所指向的变量之间的关系,在程序中用“ * ”符号表示“指向”的对象,如果已定义i_pointer为指针变量,则(*i_pointer)是i_pointer所指向的变量。如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值