C语言学习笔记(二):指针的用法

时间:2025-01-13 11:37:45

与其说指针是一种工具,不如先说指针是一种数据类型。

-------------------------------------------------------------华丽的分割线-----------------------------------------------

指针是什么呢?指针是一种数据类型。

首先,我们先这样

int a;
int *b;

a是一个int型变量,对吧?那类比一下,b是个int *型变量对吧?

我们换一种说法:b是一个int型指针 其中*标识符 

下面我们来看这个:

int *p1;
int **********p2;

怎么样?怕不怕?

其实没什么可怕的,无论有几个"*"它都是一个变量!

 

那你就会问了,指针里面到底装着什么呢?我们继续来看这样一段代码:

 #include <stdio.h>

 int main()
{
int a = ;
int *p;
p = &a;
printf("a的地址是:%d\t a的值是:%d\n", &a, a);
printf("指针p的地址是:%d\t p的值是:%d", &p, p);
return ;
}

运行结果如下:

C语言学习笔记(二):指针的用法

C语言学习笔记(二):指针的用法

这样你可能还不够直观,不如我们画一下内存图吧!

C语言学习笔记(二):指针的用法

那你可能会问了,指针有什么用呢?答:间接赋值

任何事物都有它存在的意义,间接赋值这四个字你可能没什么感觉,不就是:

int i = ;
int *p = &i;
*p = ;

是的,这么一看用法就是这么简单,但是你有没有想过,如果把指针用到字符串身上呢?(未完待续)