指针和指针变量

指针和指针变量

指针:一个变量的地址称为该变量的指针。
指针变量:专门用来存放另一变量的地址(指针)的变量。用来指向另一变量。指针变量的值=指针变量中存放的值=指针(地址)
定义一个指针变量代码如下:

int i;
float *p;//p是指向实型变量的指针变量,指针变量名是p,*p为指针变量p所指向的存储单元
p=&i;//&i为变量i的地址
*p=3;//将3赋给指针变量p所指向的变量i,与i=3;作用相同

定义一个指向数组元素的指针变量:

int a[10];//定义a为包含10个整型数据的数组
int * p;//定义p为指向整型变量的指针变量
p=&a[0]; //把a[0]元素的地址赋给指针变量p(p指向a数组的第0号元素) 。等价于p=a;把a数组的首地址(即a[0]的地址)赋给指针变量p

引用一个数组元素:a[i]=(a+i)=(p+i)

在这里插入图片描述
有关指针数据类型:
int i; 定义整型变量
int * p; p为指向整型数据的指针变量
int a[n]; 定义整型数组a,它有n个元素
int * p[n]; 定义指针数组p,它由n个指向整型数据的指针元素组成
int(* p)[n]; p为指向含n个元素的一维数组的指针变量 int f(); 为带回整型函数值的函数
int * p(); p为带回一个指针的函数,该指针指向整型数据 int (* p)(); p为指向函数的指针,该函数返回一个整型值 int * * p; p是一个指针变量,它指向一个指向整型数据的指针变量

指针指针变量是编程中常见的概念,特别是在CC++语言中。理解它们的关系对于掌握这些语言的内存管理非常重要。 1. **指针(Pointer)**: - 指针是一个内存地址,它指向某个变量的存储位置。简单来说,指针就是一个变量的地址。 - 指针可以指向任何数据类型的变量,包括基本数据类型(如int、float)复杂数据类型(如结构体、数组)。 2. **指针变量(Pointer Variable)**: - 指针变量是一个变量,它用来存储指针(即内存地址)。指针变量本身也有一个内存地址,但它存储的是另一个变量的地址。 - 声明一个指针变量时,需要指定它将要指向的数据类型。例如,`int *p;`声明了一个指向整数类型的指针变量`p`。 关系: - 指针变量是用来存储指针变量。换句话说,指针变量中存储的是另一个变量的内存地址。 - 指针是内存地址,而指针变量是用来保存这个地址的变量。 示例代码: ```c #include <stdio.h> int main() { int a = 10; // 定义一个整型变量a int *p; // 定义一个指向整型的指针变量p p = &a; // 将变量a的地址赋给指针变量p printf("a的值: %d\n", a); printf("a的地址: %p\n", &a); printf("指针p的值(a的地址): %p\n", p); printf("指针p指向的值: %d\n", *p); return 0; } ``` 在这个示例中,`p`是一个指针变量,它存储了变量`a`的地址。通过指针变量`p`,我们可以访问修改变量`a`的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值