从零开始的指针运用1

从零开始的指针运用1


前言:C语言相对于其他语言的优势是指针,但是指针的使用又是十分麻烦的。

这里仅仅只是说明了指针的一些简单的运用,(大牛请忽视),因为有时会忘记,

不如记录下来简单用法


1、指针

      指针是C语言的一种变量,既然是变量的话,那么就是C语言自带的一种数据结构。

          指针是C语言用来间接访问的工具,因为我们这里学习嵌入式的话,一定需要用到指针的知识。

       就是你做单片机的运用的时候,有没有想过,为什么我向寄存器中写一个值,它就会点灯和一些

       操作,首先,CPU通过寄存器间接访问可以知道内存的地址,比如你这个IO口的资源到底是哪一块的

       内存当中的,接着向那块内存写东西的话,那么就会响应。


2、指针的简单运用

      指针的运用和其他变量一样的,都需要定义先。

      1、定义指针变量----向内存申请一块内存


           int  *p;

         PS:可能有人会问我,为什么指针是变量,int也是变量,为什么int a;  a = 10;

                 就可以直接使用了,那为什么int *p;   *p=10;   不能这些定义,

                 原因是非常简单的,首先编译器是傻瓜,啥都不会,需要编程者给定他十全十美的条件,它才会运行。

                 int  a;   向内存申请一个4字节的内存(32位机),至于这块内存是在哪里的,我们不需要知道,

                             我们只需要知道我们申请了这一块内存之后,我们可以用就可以了。

               但是,int *p  是一个指针变量,我们用它是干嘛的?存变量的吗?显然不是,我们是想通过这个指针变量

               找到我们需要的地址,那需要的地址你自己都不给它,它知道吗?不知道,所以就直接报错

      2、因为上面的解释后,所以,第二步就是让这个指针指向我们知道的一个地方

            绑定指针

            int  *p ;

            p  = & a;         //指向a变量的指针

            p  = (int *)8;   //指向地址空间为8的内存。



3、一个简单的代码程序

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int *p;   //定义一个指针变量
    int  b;   //定义一个整型的变量。

    b = 18;
    p = &b;

    printf("%x \n",&b);
    printf("%p \n",p);
    return 0;
}









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值