指针基础语句

xiaoxiao2025-11-03  21

有人说C语言的精华是指针,可见指针的作用以及难度系数,那么今天我们就来看一下:1.指针的特殊性;2.指针基础语句的含义。

指针的特殊性:

[1]指针(也称地址)也是一个变量类型,和int,char一样,但它有两个特殊的符号: &和“ * ". &a表示获取a的地址,称为取址符; 我们在定义变量时有着一定的规则:

char a = 'x';.//字符变量存放字符 int b = 10;//整形变量存放整形值 double = 23.4;//浮点变量存放浮点数

所以有什莫变量存放什莫类型的值。&a表示整形地址值,需要整形地址变量来存储它,地址即为指针,所以有

int * p = &a; // p 保存了a的地址

p和a建立了联系。那我们怎么通过p得到或修改a地址里的值呢,这就有“ * ”的出现. “ * ”被称为解引用,即间接访问指针所指向地址里的值。

a=50; *p=50//表示访问p所指向地址的内容,p里面的地址是a的,a的值是50,所以*p=50

[2 ]" * "的用法: 在3*4中为乘法符号 int * p=&a;表示p为整形地址变量,*表示数据类型 *p=10;表示间接访问符,解引用。

[3 ] 指针的赋值: 指针在赋值时一定严格相等,即同一类型才可以赋值 e.g: short b = 10; short *p = &b;正确的 char a = ‘a’; int *p1 = &a; 这是错误的,因为a为char类型,而p1为整形,所以错误 2. 指针基础语句的含义:

[1 ] 一级指针: int a = 10; int *p = &a;//表示p和a建立了联系,存储着a的地址 *p = 10;// * 表示解引用p,即到达p所指向的变量的值,所以*p=a=10;

如图所示

[2]二级指针 p可以作为整形指针变量可以指向别人的地址,那么它的地址可不可以也用一个变量来保存呢?要想保存整形指针值得地址,就要用整形指针地址变量来保存,即**k,我们称它为二级指针。 int **k=&p; //用二级指针来存储p得地址 *k=&a; //对二级指针进行一次解引用,到达p,p里放的是a的地址,所以*k=&a **k=1000; //对k进行二次解引用,先到p,在解引用p,p保存的是a的地址,所以a的值被修改了,为a=1000;

如图所示: 希望大家牢记指针的性质和用法,下次见!

转载请注明原文地址: https://www.6miu.com/read-5039011.html

最新回复(0)