• 指针数组 与 数组指针 的理解


    起因: 使用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存在, 有请大神告知。

  • 相关阅读:
    Android Canvas save() restore()
    Android Custom View
    Android Canvas drawArc()
    每日一记--2014.9.15
    每日一记--2014.9.14
    每日一记--2014.9.13
    每日一记--2014.9.12
    每天一记--2014.9.11
    每日一记,今天开始
    java中的Iterator和Iterable
  • 原文地址:https://www.cnblogs.com/jluzhsai/p/3548931.html
Copyright © 2020-2023  润新知