1. c语言多维数组
&multi[0]不等于multi[0],
multi也不等于multi[0],
multi[0]是一维指针。
multi是一个二维指针。
multi[0][0]表示一个具体的int值。
你用%u输出的结果实际上都是输出了multi[0][0]的值。
2. 如何理解C语言中的四维数组
不管几维,对内存而言都是线性的结构,而人们总是习惯把抽象和现实联系起来。4维理解成n个3维组成的就好了。总之,不管多少维,都是线性的。
你无须按照空间理念去理解数组,C语言里还有N维数组呢,无非就是a[][][][][]...而已,可以存进更多的数据。
举个例子吧,一维数组a[9]可以存10个元素
二维a[9][9]可以存100个元素,
三维a[9][9][9]可以存1000个元素
3. c语言中,多维数组最多是多少维我们老师说最多六十维请问为什么
c语言默认最多是二维数组;当然如果用指针自己分配内存的话可以自行进行计算,进行更多维的表示。
原则上,C语言中数组所包含的元素个数理论上多少都行,如果要开一个很大的数组,比如int arrayint[10000][10000];在main()中声明该数组就会使应用程序退出,但是如果把该数组的声明放在所有函数体之外,让它变成一个全局变量,就没有任何限制了,想开多大的数组都可以。
(3)c语言多维数组多少维扩展阅读:
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,中括号内的索引值是从0算起的。
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
4. 求C语言关于多维数组的详细讲解,急!!!
每一个[]代表一个方向 当然三维以上的数组不太容易用实体模式想象 但大概方式是一样的
先搞明白1 2 3维对应于下标的方式 指针 地址的对应关系
比如对于int a[2][3][4]而言
a[1] a[1][1] a[1][1][1] a[1][1][3] a[1][2][0]
搞清以上几项的地址关系
组数基本我们可以按行读来理解[具体对应于代码]
即 1维 从左向右读
2维 a[2][3] 从左向右工a[][0]~a[][2] 3格 成为一行 每一行对应一个a[]
三维a[4][2][3]的在此基础上增加到4个层面 (原来的2维对应为2*3格的一个面)
5. C语言中是否存在多维数组
多维数组只是一种说法,其实只不过是特殊的一维数组而已。只是说,这个特殊的一维数组的每个元素的类型不是常规的int、float等这些基本类型。而是obj这些特殊的类型。
6. C语言数组最高是不是只有三维
其实C语言是支持多维的,
只是我们一般用
计算机语言
是为了描述我们的真实的世界
所以一般来说都是用到1、2维的数组
有的时候为了一些需要也可能用到3维的
像你说的4、5维应该也有,只是我们平时没怎么见过而已~
7. c语言、三维数组
你就想象成全是一维的,C原来设计也只有一维。你可以想象成有个特殊的数组里面每个元素又是一个数组,而这个数组里面的每个元素他又是一个数组。你要说用线性代数可以空间理解,但是3维以上你给我空间想象一下啊,我想不到。指针当然要占内存。虽然它指向某个内存的地方,但是他同样需要某个东西指向它啊。打个比方好比它就是个路标,指向某个方向。但是机器编译需要知道指向路标的路标一样。我是这样理解的。