zoukankan      html  css  js  c++  java
  • 指针

    (1)指针的概念
    在我们的编程生涯中其实我们一直是在围绕着数据做各种操作,而指针其实也不例外。大家都知道int a是一个整形的变量,a可以等于3或者4等整形的数据,而指针int *p可以存放的就是一个地址,如果p = &a那么指针p存放的就是a这个变量的地址。
     (2)指针的类型
    通过第一个点我们的同学知道了指针的概念,好的接下来我们还要知道指针的类型。跟基本数据类型分为整型,浮点型,字符型一样我们的指针也是有类型的。而他的类型十分简单,根据第一点我们知道指针是存放各种数据地址的,如果他存放的是整形的地址,好的!这个指针就是指向整形的指针。以此类推指针又可以分为浮点类型的,字符类型的等等。
           Int a ;
           Int *p = &a;(整形指针)
           Char a;
           Char *p = &a;(字符型指针)
           Double a ;
           Double *p = &a(浮点型指针)
     
         (3)指针的作用
           相信通过前面的两点,大家已经知道什么是指针了,并且已经跃跃欲试想要使用指针了。别急~~~下面老夫就为大家介绍怎么使用指针,来!举个例子。
           Int a = 10;
           Int *p = &a;
           *p = 0;
           看到上面的几行代码,有没有同学知道a变成了几?对!同学们很聪明,现在的a已经变成了0.这就是指针的最重要的作用,间接赋值。这四个字老夫请大家一定要记住,就像你的支付宝密码一样的记住。当有人能问你指针的时候,说出这四个字是保证你不被当成小白的重要保证。
    (4)指针数组和数组指针
    指针数组和数组指针这两个名字不同,当然所代表的意思也就不同。刚开始看到我就被吓到了,主要是中文太博大精深了,整个这样的简称太专业了,把人都给绕晕了。如果从英文解释或中文全称看就比较容易理解。

    指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针
    数组指针:a pointer to an array,即指向数组的指针

    还要注意的是他们用法的区别,下面举例说明。
    --------------指针----------------
    int a=10;
    int *p=&a;           // 指向整型的指针,这个指针可以用来指向整型元素

    -------------简单数组-----------------
    int c[10];              //整型数组,含有10个整型元素也就是说每一个元素都是整型

    --------------指针数组 是数组--------------------
    int *p1[10];         // 指针数组,含有10个指针元素也就是说每一个元素都是指针

    --------------数组指针 是指针--------------------
    int (*p2)[10];      // 数组指针,这个指针可以用来指向含有10个元素的整型数组
    <ignore_js_op>
    注意:在实际应用中,对于指针数组,我们经常这样使用:
    typedef int* int_p;
    int_p a[10];
    这跟上面指针数组定义所表达的意思是一样的,只不过采取了类型变换。
  • 相关阅读:
    Unix高级编程之文件权限
    gdb手册
    libev 使用
    Unix高级环境编程之fcntl函数
    设计基于锁的并发数据结构
    CPU占用分析
    atomic用法
    RESTful架构搜集
    神奇的VIM
    [转] boost:lexical_cast用法
  • 原文地址:https://www.cnblogs.com/yejianyong/p/7118386.html
Copyright © 2011-2022 走看看