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

    指针数组:内容是指针的数组
        char *str[3]={};    //[]优先级高于*
        char *(str[3])={};  //
    
        char **p=str;       //指向 指针数组的指针
    
    二维数组指针:
        char a[4][3];
        char (*p)[3]=a;     //[3]表示每一行有三个元素,p指向的类型是char[3]
                            //就是一个指针
        p+1;                //前进一行
        *(p+1)              //表示取地址上的数据,也就是整个第 1 行数据。
                            //注意是一行数据,是多个数据
            单独使用时表示的是第 1 行数据,放在表达式中会被转换为第 1 行数据的首地址,
            也就是第 1 行第 0 个元素的地址,因为使用整行数据没有实际的含义,编译器遇到这种情况都会转换为指向该行第 0 个元素的指针;
            就像一维数组的名字,在定义时或者和 sizeof、& 一起使用时才表示整个数组,出现在表达式中就会被转换为指向数组第 0 个元素的指针。
        *(p+1)+1            //表示第 1 行第 1 个元素的地址
        *(*(p+1)+1)
  • 相关阅读:
    find排除目录
    rm删除文件时排除特定文件
    聚集索引与非聚集索引
    聚集索引
    Union和Union all的区别
    delete、truncate与drop的区别
    apt-get 总结2
    apt-get 依赖修复
    apt-get 总结
    大端 小端
  • 原文地址:https://www.cnblogs.com/working-in-heart/p/12166451.html
Copyright © 2011-2022 走看看