【C 语言基础笔记 3--- 抽象的指针】

本贴最后更新于 1727 天前,其中的信息可能已经时移世异

1.什么是指针

指针: 也是一种变量,是一种特殊的变量(专门用来存放其它变量在内存中地址的)

如果一个变量有多个字节(内存中有多个地址),指针存放的是这个变量的首地址(最低的地址,起始位置的地址)

2.指针的定义

类型 *指针的名字
int p; //定义了 int 类型的指针 *表示 p 是个指针

float *q;//定义了 float 类型的指针 *表示 p 是个指针

char p;//定义了 char 类型的指针 *表示 p 是个指针

3.指针的简单使用

第一种: 定义一个指针并初始化

int a=10;

int *p=&a; // & --> 取地址符号(获取变量 a 在内存中的首地址)

第二种: 定义一个指针没有立马初始化

int a=10;

int *p; //定义了指针 p,p 存放谁的地址目前是不清楚的

p=&a;

4.指针的几种基本运算

第一种: 解引用

通过指针访问指向的变量里面的内容,或者通过指针修改指向的变量

使用解引用运算

*p; //把指针 p 解引用(取出指针 p 指向的地址里面的内容)

第二种:取地址

int a=100;

int *p=&a; //对 a 取地址

小结: 指针是 C 语言提供的一种间接访问变量的方法

5.举例

	int a = 100;
	int *p = &a;
	printf("a = %d\n",*p);		//基本算法--解引用 *p
	printf("a的地址%p\n",&a);	//查看a在内存中的地址
	printf("P中存放的地址%p\n",p);	//查看*p中存的地址编码

简单来说就是有*号的时候,我们访问的是 p 指针指向的变量,访问 a 的值。没有*号的时候,我们访问的是 p 指针指向的变量存在内存的位置,就相当于变量 a 的门牌号。

  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    85 引用 • 165 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...