关于指针 初阶


1:什么是指针

2:什么是指针变量

3:指针有什么用处

1:首先的话是第一大点什么是指针,一个变量的地址称为该变量的指针。

2:指针变量  指针变量中存储的是整数,用printf打印在屏上的时候显示出来的是16进制。

给大家来一段最为简单的指针程序。这里面我们可以看到定义指针的形式的时候用了一个int*其中后面在赋值的过程中使用了地址符号&。代表的是把该变量的地址给指针变量。关于指针 初阶_第1张图片

 那么这里面就有一个疑问就是指针变量的存储位置是否与它所存储的变量的位置相同那么我们仍然使用程序给大家进行说明。由于水印的影响呢导致画质有些模糊但是我们仍然可以看出来这里面我用%p打印出m的地址与指针变量pm的地址是二者的数值是不一样的因此我们就可以理解那句指针变量是用来存放地址的变量而不是说指针变量的地址与该变量的地址就相同了一个地址是只能存放一个变量的。而我们通过指针变量对原有变量的修改其实本质上是通过指针变量中存放的地址来进行了间接访问。

 

关于指针 初阶_第2张图片

3 指针的用处。我所用的最常用的用途就是通过指针向函数传参从而使得通过函数即可改变原有变量的值列如我们使用的swap函数如果说不利用指针而只进行实数的传参的话那么是无法改变原有的值 的因为函数传参传过去的实参一 一对应的有各自的形参而形参与实参而形参是在该函数里面被创建函数结束那么形参也就自动销毁具体请看代码。

关于指针 初阶_第3张图片

关于指针 初阶_第4张图片

通过这里我们可以看到我把数值传入后我原有的数值并没有因为我函数中形参数值的交换而发生了改变因为函数中创建的叫做形参它开始于函数的起始位置终止与函数的末尾它与实参的地址也并不相同因此无法改变实参的数值。

 关于指针 初阶_第5张图片

 关于指针 初阶_第6张图片

 那么当我们把代码修改一下将他们的地址传递过去而函数里面我们使用的是指针存放他们的地址我们会发现这里面的数值被修改了。

———————————————————————————————————————————

指针进阶(大家看完这篇文章后可以点一下链接这是我写的指针进阶包含了二级指针等知识点。)

你可能感兴趣的:(c语言)