初始化一个多维数组

原文:初始化一个多维数组

《C和指针》第8章编程练习第1题:

 1 /*
 2 ** 初始化一个数组,其特定位置初始化为特定的值
 3 */
 4
 5 static unsigned char char_value[3][6][4][5] = {
 6     { // 0
 7         { // 0,0
 8             { 0 } // 0,0,0
 9         }
10     },
11     { // 1
12         { // 1,0
13             { 0 } // 1,0,0
14         },
15         { // 1,1
16             { 0 },     // 1,1,0
17             { 0, ‘ ‘ } // 1,1,1
18         },
19         { // 1,2
20             { 0 },              // 1,2,0
21             { 0 },              // 1,2,1
22             { 0, 0, 0, ‘A‘ },   // 1,2,2
23             { 0, 0, 0, 0, ‘x‘ } // 1,2,3
24         },
25         { // 1,3
26             { 0 },         // 1,3,0
27             { 0 },         // 1,3,1
28             { 0, 0, 0xf3 } // 1,3,2
29         },
30         { // 1,4
31             { 0 },            // 1,4,0
32             { 0 },            // 1,4,1
33             { 0, 0, 0, ‘\n‘ } // 1,4,2
34         },
35         { // 1,5
36             { 0 } // 1,5,0
37         }
38     },
39     { // 2
40         { // 2,0
41             { 0 } // 2,0,0
42         },
43         { // 2,1
44             { 0 },         // 2,1,0
45             { 0, 0, 0320 } // 2,1,1
46         },
47         { // 2,2
48             { 0 },          // 2,2,0
49             { 0, ‘0‘ },     // 2,2,1
50             { 0, 0, ‘\‘‘ }, // 2,2,2
51             { 0, ‘\121‘ }   // 2,2,3
52         },
53         { // 2,3
54             { 0 } // 2,3,0
55         },
56         { // 2,4
57             { 0 },           // 2,4,0
58             { 0 },           // 2,4,1
59             { 0 },           // 2,4,2
60             { 0, 0, ‘3‘, 3 } // 2,4,3
61         },
62         { // 2,5
63             { 0 },              // 2,5,0
64             { 0 },              // 2,5,1
65             { 0 },              // 2,5,2
66             { 0, 0, 0, 0, 125 } // 2,5,3
67         }
68     }
69 };
时间: 2024-12-10 12:34:42

初始化一个多维数组的相关文章

静态初始化一个二维数组并将二维数组排序并输出

基本思想:将二维数组存入到一个新的一维数组中,将一维数组排序后,再加以格式控制输出 class work03 { public static void main(String[] args) { int a[][]={ {11,15,32,21},{2,3},{4,6,5}}; int length=0; int k=0; for(int i=0;i<a.length;i++){ for(int j=0;j<a[i].length;j++){ length++;//求二维数组元素个数 } k+

螺旋式打印一个二维数组

问题描述:螺旋式打印一个二维数组.如 1     16     3     2     17 8     6       4     3     23 2     5       7     8     12 21   2       4     6     13 要求打印后顺序为: 1     16   3     2     17   23     12     13   6     4     2     21     2     8   6     4     3     8     7

【c语言】动态开辟一个二维数组

// 动态开辟一个二维数组 #include <stdio.h> #include <stdlib.h> int main() { int i = 0; int j = 0; int line = 0; int row = 0; int **p = NULL; printf("输入行数:"); scanf("%d", &line); printf("\n"); printf("输入列数:");

java 数据结构 图中使用的一些常用算法 图的存储结构 邻接矩阵:图的邻接矩阵存储方式是用两个数组来标示图。一个一位数组存储图顶点的信息,一个二维数组(称为邻接矩阵)存储图中边或者弧的信息。 设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为: 实例如下,左图是一个无向图。右图是邻接矩阵表示:

以下内容主要来自大话数据结构之中,部分内容参考互联网中其他前辈的博客. 图的定义 图是由顶点的有穷非空集合和顶点之间边的集合组成,通过表示为G(V,E),其中,G标示一个图,V是图G中顶点的集合,E是图G中边的集合. 无边图:若顶点Vi到Vj之间的边没有方向,则称这条边为无项边(Edge),用序偶对(Vi,Vj)标示. 对于下图无向图G1来说,G1=(V1, {E1}),其中顶点集合V1={A,B,C,D}:边集合E1={(A,B),(B,C),(C,D),(D,A),(A,C)}: 有向图:若

返回一个二维数组最大联通子数组的和

一.题目 输入一个二维整形数组,数组里有正数也有负数. 求所有子数组的和的最大值. 二.设计思想 方法一:首先若要对二维数组进行分析,之前我们已经做过关于一位数组的练习,所以我们可以把它化简成为一个一维数组.再先求每个一维数组的最大子数组和,并记下每行最大一维子数组的下标.这是就会分两种情况:第一种是行之间的最大子数组是相连的,这时就可以直接相加得到:第二种是不相连的,,这时候就把每行的最大子数组看成一个整体,再使每个最大数组块进行相连,求使其相连的最小代价.最后得到的结果就是最大联通子数组的和

动态申请和释放一个二维数组

动态申请一个二维数组也很常见,下面是常见的两种形式. //方法1 unsigned char** pImg= new unsigned char*[m]; for(int i=0;i<m;i++){ pImg[i]=new unsigned char[n]; } //方法2 unsigned char** pImg= new unsigned char*[m]; unsigned char* arr= new unsigned char[m*n]; for(int i=0;i<m;i++){

new一个二维数组(转)

转自:http://www.cnblogs.com/irvinow/archive/2009/02/21/1395340.html 定义二维数组char array[x][y]; 1.只定义个一维的就可以了 char *array; array = new char[x*y]; 访问的时候*(array+i*y+j)表示array[i][j] 2.定义一个二维数组 char **array1 array1 = new char *[x]; for(i=0;i<x;++i) array1[i] =

[CareerCup] 13.10 Allocate a 2D Array 分配一个二维数组

13.10 Write a function in C called my2DAlloc which allocates a two-dimensional array. Minimize the number of calls to malloc and make sure that the memory is accessible by the notation arr[i][j]. 这道题让我们写个C语言函数my2DAlloc用来给一个二维数组分配内存,并且让我们尽可能的少调用malloc

c语言:将一个二维数组行和列的元素互换,存到另一个二维数组中。

将一个二维数组行和列的元素互换,存到另一个二维数组中. 解:程序: #include<stdio.h> int main() { int i, j, a[2][3] = { {1,2,3},{4,5,6} },b[3][2]; printf("array a:\n"); for (i = 0; i <=1; i++)//处理a数组中的一行中各元素 { for (j = 0; j <= 2; j++)//处理a数组中的某一列元素 { printf("%5