c语言三维数组 三维指针,C语言 通过指针访问一维数组,二维数组,三维数组。...
/**
通过指针来访问一维数组,二维数组,多维数组
*/
#include
const int COLS=3;
const int COUNT=4;
//通过一级指针,计算偏移量来遍历一维数组
void printSingleDimensionalArray(int *data,int data_len);
//通过一级指针,计算偏移量来遍历二维数组:
void printDoubleDimensionalArray(int *array,int rows,int cols);
//通过一级指针,计算偏移量来遍历三维数组:
void printThreeDimensionalArray(int *array_3,int rows,int cols,int count);
//使用指向二维数组的指针来遍历三维数组
void printThreeDimensionalArray2(int (*p)[COLS][COUNT],int rows);
void main()
{
int data[]={1,2,3,4,5,6,7,8,9};
int data_len=sizeof(data)/sizeof(data[0]);
printf("data[6]=%d\n",*(data+6));//7
printf("一维数组data:\n");
printSingleDimensionalArray(data,data_len);
int array[2][3]={{1,2,3},{4,5,6}};
printf("二维数组array:\n");
printDoubleDimensionalArray(array,2,3);
int count=0;
int array_3[2][3][4];
int i,j,k;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
for(k=0;k<4;k++)
{
array_3[i][j][k]=count++;
}
}
}
printf("三维数组array_3:\n");
printThreeDimensionalArray(array_3,2,3,4);
//三维数组的初始化
int array_33[2][3][4]=
{
{
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
},
{
{13,14,15,16},
{17,18,19,20},
{21,22,23,24},
}
};
printf("三维数组array_33:\n");
printThreeDimensionalArray(array_33,2,3,4);
printf("三维数组array_33:\n");
printThreeDimensionalArray2(array_33,2);
}
//通过一级指针,计算偏移量来遍历一维数组
void printSingleDimensionalArray(int *data,int data_len)
{
int i;
for(i=0;i
printf("%4d",*(data+i));//7
printf("\n");
}
//通过一级指针,计算偏移量来遍历二维数组:
void printDoubleDimensionalArray(int *array,int rows,int cols)
{
int i,j;
for(i=0;i
{
for(j=0;j
{//通过一位指针,计算偏移量来遍历二维数组:
printf("%4d",*(array+i*cols+j));
}
printf("\n");
}
}
//通过一级指针,计算偏移量来遍历三维数组:
void printThreeDimensionalArray(int *array_3,int rows,int cols,int count)
{
int i,j,k;
for(i=0;i
{
printf("{\n");
for(j=0;j
{
for(k=0;k
{
// array[i][j][k]=count++;
// printf("%4d",array_3[i][j][k]);
printf("%4d",*(array_3+i*3*4+j*4+k));
}
printf("\n");
}
printf("}\n");
}
}
//使用指向二维数组的指针来遍历三维数组
void printThreeDimensionalArray2(int (*p)[COLS][COUNT],int rows)
{
int i,j,k;
for(i=0;i
{
printf("{\n");
for(j=0;j
{
for(k=0;k
{
// array[i][j][k]=count++;
printf("%4d",p[i][j][k]);
// printf("%4d",*(array_3+i*3*4+j*4+k));
}
printf("\n");
}
printf("}\n");
}
}
结果:
data[6]=7
一维数组data:
1 2 3 4 5 6 7 8 9
二维数组array:
1 2 3
4 5 6
三维数组array_3:
{
0 1 2 3
4 5 6 7
8 9 10 11
}
{
12 13 14 15
16 17 18 19
20 21 22 23
}
三维数组array_33:
{
1 2 3 4
5 6 7 8
9 10 11 12
}
{
13 14 15 16
17 18 19 20
21 22 23 24
}
三维数组array_33:
{
1 2 3 4
5 6 7 8
9 10 11 12
}
{
13 14 15 16
17 18 19 20
21 22 23 24
}
Process returned 2 (0x2) execution time : 0.312 s
Press any key to continue.
c语言三维数组 三维指针,C语言 通过指针访问一维数组,二维数组,三维数组。...相关推荐
- linux c语言 malloc动态分配指针,C语言malloc函数为一维,二维,三维数组分配空间...
c语言允许建立内存动态分配区域,以存放一些临时用的数据,这些数据不必在程序的声明部分定义,也不必等到函数结束时才释放,而是需要时随时开辟,不需要时随时释放,这些数据存储在堆区.可以根据需要,向系统申请 ...
- c语言malloc申请三维数组,C语言malloc函数为一维,二维,三维数组分配空间
c语言允许建立内存动态分配区域,以存放一些临时用的数据,这些数据不必在程序的声明部分定义,也不必等到函数结束时才释放,而是需要时随时开辟,不需要时随时释放,这些数据存储在堆区.可以根据需要,向系统申请 ...
- C语言malloc函数为一维,二维,三维数组分配空间
c语言允许建立内存动态分配区域,以存放一些临时用的数据,这些数据不必在程序的声明部分定义,也不必等到函数结束时才释放,而是需要时随时开辟,不需要时随时释放,这些数据存储在堆区.可以根据需要,向系统申请 ...
- MATLAB一维、二维、三维 标量函数绘图
MATLAB一维.二维.三维 标量函数绘图 1. 一维标量绘图plot 2. 二维.三维标量绘图 2.1. mesh函数标量绘图 2.2. surf函数标量绘图 2.3. contour(x,y,z) ...
- C++数组(一维、二维、三维)的动态分配new、初始化memset和释放delete
[原文]http://blog.csdn.net/shanzhizi/article/details/7835752 数组的动态分配.初始化和释放经常用到,这里总结一下,尤其是二维数组 一维数组 一维 ...
- 神经网络之多维卷积的那些事(一维、二维、三维)
文章目录 前言 一维卷积Conv1d 二维卷积Conv2d 三维卷积Conv3d 卷积中的特征图大小计算方式 总结 前言 一般来说,一维卷积用于文本数据,二维卷积用于图像数据,对宽度和高度都进行卷积, ...
- R语言plotly可视化:使用PCA算法进行数据降维、使用plotly可视化PCA所有的主成分绘制散点图矩阵、降维后的两个(三个)核心主成分的二维、三维可视化图形、方差解释的量、载荷图等
R语言plotly可视化:使用PCA算法进行数据降维.使用plotly可视化PCA所有的主成分绘制散点图矩阵.降维后的两个(三个)核心主成分的二维.三维可视化图形.方差解释的量.载荷图等 目录
- C语言动态开辟数组(一维与二维)【malloc() free()】
了解并熟悉malloc(),calloc(),realloc(),free()等动态开辟函数. 重点使用malloc()与free()进行数组的动态开辟! 一.认识malloc().free() C+ ...
- HDU - 5517 Triple(三维偏序-二维树状数组/CDQ分治)
题目链接:点击查看 题目大意:给出 n 个二元对 ( a , b ) 和 m 个三元对 ( c , d , e ),对于所有 b == e 的二元对和三元对,可以通过某种运算形成一个新的三元对 ( a ...
- python二维、三维、思维数组之间的转化
python二维.三维.思维数组之间的转化 import numpy as np# 假设你有一个二维数组,形状为(32,10000) gray = np.random.randint(0, 256, ...
最新文章
- SSM进出帐账单正负显示
- Tornado報錯AttributeError: Unrecognized option 'port'
- 字符编码-Unicode等
- eclipse javafx找不到或无法加载主类_JVM类加载
- android 日历 时间选择,Android--DatePicker和TimePicker(日历选择器与时间选择器)
- 用GDB调试程序(11)──查看运行时数据(2)-转
- axure9数据统计插件_数据分析太棘手?常用8大统计软件解决难题!
- android gradle 设置,android gradle配置指南
- (转)OpenStack Kilo 版本中 Neutron 的新变化
- 软件版本的GA、RC的具体含义
- UE4针对特殊的透明物体不应用后期效果
- Base64编码及应用
- 宝藏级UI组件库:FirstUI,微信小程序版+uniapp版更新至1.6.0,完美支持vue3
- 京东上位2018年财富中国500强民企第一席 首次实现全年盈利
- Redis--Redis数据过期策略详解
- MAC下downie下载网页视频报错“转换错误”解决方案
- 计算机在生物学中的应用课程,计算机技术在生物教学中的作用与应用
- itms-services php,APP发布系统 ipa文件上传和下载 itms-service协议
- 基于JSP的汽车配件销售管理系统
- 面包师问题--进程同步问题