zoukankan      html  css  js  c++  java
  • [C] int *p[4]与int (*q)[4]的区别

    以上定义涉及两个运算符:“*”(间接引用)、“[]”(下标),“[]”的优先级别大于“*”的优先级别。
      首先看int *p[4],“[]”的优先级别高,所以它首先是个大小为4的数组,即p[4];剩下的“int *”作为补充说明,即说明该数组的每一个元素为指向一个整型类型的指针。int *p[4]的存储结构如下:(存储方格横向排列或竖向排列没区别,只要按内存地址顺序排列就行,此处只是为画图方便)

        再看int (*q)[4]。它首先是个指针,即*q,剩下的“int [4]”作为补充说明,即说明指针q指向一个长度为4的数组。int (*q)[4]的存储结构如下:

    请看以下定义:
    int a[2][4]={{2,5,6,8},{22,55,66,88}};
    int c[4]={5,8,9,4};
    int d[3]={23,12,443};
    int *p[4],(*q)[4];
    q=a;
    *p=c;
    *(p+1)=d;
    则int *p[4]和int (*q)[4]的存储数据为:
  • 相关阅读:
    表单
    html 基础代码
    thread
    流的存入读取
    异常

    Android——多线程编程练习题
    Android——进度对话框
    安卓3个练习题
    Android—对话框
  • 原文地址:https://www.cnblogs.com/robbychan/p/3787126.html
Copyright © 2011-2022 走看看