zoukankan      html  css  js  c++  java
  • 指针数组 与 数组指针 的理解

    起因: 使用void * 指针传参, 改了半天没出bug。

    指针数组array of pointers,即用于存储指针的数组,也就是数组元素都是指针

    数组指针a pointer to an array,即指向数组的指针

    大一看这名称可以理解, 时间久了就忘记了, 咱们可以这样理解。

    指针数组 是 数组 —— 数组里存的是指针。 定义: char *p[2]; 

    数组指针指针 —— 指针指向的是数组。 定义: char (*p)[2]; 


    指针数组:

    /**** 指针数组 ****/
    
    //数组都是指针, 要分配内存, 在赋值 。 
    char *p[2]; 
    p[0] = (char*)malloc(10*sizeof(char)); 
    p[1] = (char*)malloc(10*sizeof(char)); 
    
    strcpy(p[0], "in.txt"); 
    strcpy(p[1], "111"); 
    
    fprintf(stderr, "%s %s
    ", p[0], p[1]); 
    

      

    数组指针:

    /**** 数组指针 ****/
    #define NMAX 10
    
    char outFileName[2][NMAX]; 
    strcpy(outFileName[0], "out.txt"); 
    strcpy(outFileName[1], "222"); 
    
    //argv 就是数组指针。
    char (*p)[NMAX]; 
    p = outFileName; 
    fprintf(stderr, "%s %s
    ", p[0], p[1]); 
    //结果是: out.txt 222
    

      

    以上代码仅供参考,我是复制上去, 然后手动修改了一些,可能有些bug存在, 有请大神告知。

  • 相关阅读:
    浮动 无刷新 div
    vidalia 更换浏览器代理
    vb 主动 点击 a
    Delphi 资料收集
    用Linux的iptables和Python模拟广域网
    框架资源
    div 边框
    Google App Engine
    mac 雪豹 10.6 五国
    Windows Azure Storage (3) Windows Azure Storage Service存储服务之Blob详解(中)
  • 原文地址:https://www.cnblogs.com/jluzhsai/p/3548931.html
Copyright © 2011-2022 走看看