【无标题】C语言 你对指针知多少?

 说到指针我们不得不提到内存   

内存是电脑上特别重要的储存器,计算机中的程序运行都是在内存中进行。

所以为了有效使用内存,就把内存分为一个一个的内存单位,每次内存单位的大小都是一个字节

为了能够有效的访问到内存的每个单元,就给内存单元进行编号,这些编号被称为该内存单元的地址

  我们创建一个变量  i=10  这个变量占四个字节

#include<stdio.h>
int main()
{
    int i = 10;//4byte
    //%p  地址的打印
    printf("%p", &i);
    return 0;
}

让我们执行这个代码看看 i 的地址在哪里

 有人就会问 i=10 不是占用四个字节么 打印出来的却是一个字节、

这里补充一点  当一个变量占很多个字节时,取地址只会拿出他的起始地址

我们对内存单元进行编号 内存单元有了一一对应的编号  我们就可以很快的找到他  而不是大海捞针

内存单元都有编号,这个编号就是地址,我们把这个地址也叫做指针

指针在编程中的进一步使用  

我们以下列代码来讲解

#include<stdio.h>
int main()
{
    int a = 10;
    int*pa = &a; //pa是用来存放地址的,所以我们把pa叫指针变量
    return 0;
}

我们来一一解释下符号的含义

  1.    * 告诉我们,pa是一个指针变量

   2.    int 告诉我们 pa指向的对象是 int 类型 

   3.    pa 是存放a的地址

   这里我们用这张图可能更加直观

我们再举个例子 来加深一下

#include<stdio.h>
int main()
{
   char ch = 'c';
    char *pa = &ch;
    return 0;
}

 因为ch 是char类型       所以 char*pa=&ch

 我们对比一下   

这样我们就成功把变量a放在了pa里 

但是我们最终目的是 有朝一日找到他并且使用它

接下来我们就讲解如何使用它

只需要加上 *pa 并且改为你想到的内容 例如我们把 c  改成 q  只需要加上*pa='q';  

我们再次调试看看结果

 

此时的  c  就变成了 q 

讲到这里我们就初步了解了 指针   

补充

& 是取地址操作符    * 是解引用操作符      他们的出现一般是成双成对的

 总结一下

任何一个变量 都要开辟空间 他就有地址 我们就可以取出 我们可以放在指针变量里(指针变量是专门储存地址的)

结语

时逢冬至     祝:友友们,冬至快乐!

 

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值