#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>int main(void)
{int a[10] = { 0 };int i = 0;int j = 0;// a 是数组名  a++,,,, a = a +1; a[1];  *(a+1) //数组名是一个常量, 是一个常指针,不能够被修改  ,指向首元素/*a + 1   a是 int *const a;  a +1   4 个字节的偏移&a +1  &a  int[10] * a     &a+1  4 *10 = 40 个字节的偏移*/int aa[3][4] = { { 3, 5, 4, 3 },{2,3,4,5}};// aa ,int[4]类型的地址//初始化一个数组,不管是几维的, 如果初始化不完全, 剩下的就全部填充0for (i = 0; i < 3; i++) {for (j = 0; j < 4; j++) {printf("%d ", aa[i][j]);}printf("\n");}printf("\n");int size = sizeof(aa); //在求一个二维数组的 数据类型大小  int   [3][4][5]printf("size = %d\n", size);// 比较好理解的方法 (int   [3][4])  * p = NULL;int(*p)[3][4] = NULL;//指向二维数组 int[3][4]的指针printf("p : 0x%p, p + 1 : 0x%p\n", p, p + 1);printf("p : %d, p + 1 : %d\n", p, p + 1);//数组也是有数据类型的return 0;
}

一维数组

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>typedef unsigned int u32;int main(void)
{//int a[10];typedef int (ARRAY_INT_10) [10]; //为 int【10】这种数组 起一个别名 ARRAY_INT_10ARRAY_INT_10 b_array; //int b_array[10];  int *a    int (*a)[10] = &b_array;int i = 0;for (i = 0; i < 10; i++){b_array[i] = i;}for (i = 0; i < 10; i++) {printf("%d\n", b_array[i]);}//(int[4]) (* pointer);int(*pointer)[4];ARRAY_INT_10 * p = &b_array;printf("p : %d, p+1 : %d", p, p + 1);return 0;
}

数组类型和多维数组的本质相关推荐

  1. java多维数组的反射类型_Java多维数组和Arrays类方法总结详解

    一.数组的三种声明方式总结 public class WhatEver { public static void main(String[] args) { //第一种 例: String[] tes ...

  2. python输入二维数组_Python输入二维数组方法

    Python输入二维数组方法 前不久对于Python输入二维数组有些不解,今日成功尝试,记以备忘.这里以输入1-9,3*3矩阵为例 n=int(input()) line=[[0]*n]*n for ...

  3. VBA: 什么是多维数组:从4维数组说起。兼3维数组和数组嵌套的区别

    结论: 本文涉及内容 从4维数组看对多维数组的认识 3维数组和数组嵌套的区别 以及3维数组与redim()的使用注意点 数组的dim arr1() 或 redim arr1() 数组可以dim 或者r ...

  4. 指针数组,数组指针与二维数组剖析

    int *p[3]与int (*p)[3]的区别 *p[3]这个是一个指针数组,它所代表的意思是数组中的每一个元素都是一个指针变量,而(*p)[3],p是一个指针变量,表示指向一个含有3个整型元素的一 ...

  5. java二维数组坐标_Java 二维数组

    二维数组的定义 二维数组本质上是以数组作为数组元素的数组,即"数组的数组". 因为数组只能保存一行数据.在生活中,比如坐标等等,我们需要用二维数组来表示.通过行号和列好来定位数据. ...

  6. c语言定二维义数组,C语言二维数组超细讲解

    用一维数组处理二维表格,实际是可行的,但是会很复杂,特别是遇到二维表格的输入.处理和输出. 在你绞尽脑汁的时候,二维数组(一维数组的大哥)像电视剧里救美的英雄一样显现在你的面前,初识数组的朋友们还等什 ...

  7. 【C 语言】数组 ( 一维数组形参退化 | 二维数组形参退化 | 函数形参等价关系 )

    文章目录 一.一维数组形参退化 二.二维数组形参退化 三.数组形参等价关系 一.一维数组形参退化 C 中将 一维数组 作为参数 , 传递到函数中 , 该 一维数组 会退化为 指针 ; 将 int ar ...

  8. C++指针数组、数组指针、数组名及二维数组技巧汇总

    本文较为详细的分析了关于理解C++指针数组,数组指针,数组名,二维数组的一些技巧.是比较重要的概念,相信对于大家的C++程序设计有一定的帮助作用. 一.关于数组名 假设有数组: int a[3] = ...

  9. oracle 声明二维数组,[zt]C++二维数组讲解、二维数组的声明和初始化

    定义: int *pia = new int[10]; //array of 10 uninitialized ints 此 new 表达式分配了一个含有 10 个 int 型元素的数组,并返回指向该 ...

  10. Go进阶(5): 数组与切片+多维数组+map切片

    1. 数组array 数组可以存放多个同一类型数据,数组也是一种数据类型,在Go中,数组是值类型.与C++一致 长度是的固定的,不能够动态变化 var arr [] int 相当于slice切片 va ...

最新文章

  1. C++重载下标操作符[](二)
  2. 深入理解FFM原理与实践
  3. 网络原理题+复习资料
  4. H.264的CAVLC(编码.解码)过程详解
  5. 盒马把ID玩没了?更名“盒盒马马”后原昵称改不回来,网友笑翻了:官微急了...
  6. python--(pickle)文件读写
  7. 基于 SSH 的远程操作以及安全,快捷的数据传输转
  8. 【matplotlib笔记】plt.subplot()绘制子图
  9. 多智时代,人工智能发展历史的时间表
  10. 你说南京很好,但不是你最想去的城市,那么,上海呢,要不借这个机会去看看吧--写给自己
  11. 天才少女谷爱凌夺金!母亲毕业于北大,父亲毕业于哈佛,她将入读斯坦福…...
  12. linux 下打包可执行程序
  13. 牛客网:牛牛送冰淇淋
  14. svn冲突问题详解 SVN版本冲突解决详解
  15. 2019清华计算机考研名单,2019清华大学研究生硕士考研拟录取名单
  16. Git提交信息基本模板
  17. Cannot make QOpenGLContext current in a different thread : PyQt多线程崩溃的解决方法
  18. 关于程序化交易系统的详细定义
  19. 秦岭瑰宝_陕南中药材·宁陕猪苓_陕南赤子_新浪博客
  20. centos 一键安装ftp 配置_CentOS 7安装配置FTP服务器

热门文章

  1. python保存数组到txt_np.savetxt()——将array保存到txt文件,并保持原格式
  2. vue插件挂载html6,vue6
  3. win10计算机本地无法连接,Win10没有本地连接怎么办?
  4. OnSetCursor 及改变鼠标形状
  5. tomcat设置context不生效_后端服务:关于Tomcat相关面试题,看懂这篇就够了(有深度)...
  6. 领域驱动设计学习笔记2
  7. java:linux上找出最耗资源的线程方法
  8. 艰难时局下电子发现蓬勃发展
  9. spring mvc 解决中文response乱码
  10. SQL初级语法 [查询: SELECT]