这里参看memcpy的用法,将一个一维整型数组不停的叠加为二维数组

使用宏定义来控制二维数组的行列

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define MAX_RANK    15
#define MAX_COLUMN  7int main(int argc, char *argv[])
{int arr1D[7]  = {1,2,3,4,5,6,7};int arr2D[MAX_RANK][MAX_COLUMN];int i,j;//一维维整型数组叠加转换为二维整型数组for(i=0;i<MAX_RANK;i++){//重要,1:目的地址  2:源地址 3:复制字节数 memcpy(arr2D[i],&arr1D,7*sizeof(int));}//二维整型数组打印显示 for(i=0;i<MAX_RANK;i++){for(j=0;j<MAX_COLUMN;j++){printf("%d  ", arr2D[i][j]);  }printf("\n");    }system("pause");return 0;
}

重要的是体会memcpy三个参数的用法,之后就好做了

将代码改进,for循环改为while循环,使代码符合Linux下多线程的操作,当数据填充满二维数组后将交换执行权:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define MAX_RANK    15
#define MAX_COLUMN  7int main(int argc, char *argv[])
{int arr1D[7]  = {1,2,3,4,5,6,7};int arr2D[MAX_RANK][MAX_COLUMN];int countRank=0;//一维维整型数组叠加转换为二维整型数组//for(countRank=0;countRank<MAX_RANK;countRank++)//{while(true){memcpy(arr2D[countRank],&arr1D,7*sizeof(int));//重要,1:目的地址  2:源地址 3:复制字节数 countRank++; //顺序保证从0~MAX_RANK-1 if(countRank % MAX_RANK ==0) //注意优先级问题
         {break;  //交还执行权
         }}//}int i,j;//二维整型数组打印显示 for(i=0;i<MAX_RANK;i++){for(j=0;j<MAX_COLUMN;j++){printf("%d  ", arr2D[i][j]);  }printf("\n");    }system("pause");return 0;
}

转载于:https://www.cnblogs.com/shuqingstudy/p/5219318.html

C语言 一维数组叠加为二维数组样例相关推荐

  1. c语言一维数组转化为二维矩阵,js将一维数组转化为二维数组

    遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...

  2. oracle 一维数转二维数组,js将一维数组转化为二维数组

    遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...

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

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

  4. 【C 语言】数组 ( 验证二维数组内存是线性的 | 打印二维数组 | 以一维数组方式打印二维数组 | 打印二维数组值和地址 )

    文章目录 一.验证二维数组内存是线性的 1.打印二维数组 2.以一维数组方式打印二维数组 3.打印二维数组值和地址 二.完整代码示例 一.验证二维数组内存是线性的 验证二维数组内存是线性的 : 验证方 ...

  5. 黑马程序员——c语言学习心得——函数传递二维数组

    黑马程序员--c语言学习心得--函数传递二维数组 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.定义指针的时候一定要初始化.    变量 ...

  6. 一维数组名与二维数组名的关联

    1.一维数组名与二维数组名的关系之于普通指针与数组指针的关系 2.首先数组名编译器会隐式变换看做指针常量,因此a[i]与a+i是等价的. a+i返回由i指定的行地址,假设元素类型为char,则行指针类 ...

  7. 2022. 将一维数组转变成二维数组

    2022. 将一维数组转变成二维数组 给你一个下标从 0 开始的一维整数数组 original 和两个整数 m 和 n .你需要使用 original 中 所有 元素创建一个 m 行 n 列的二维数组 ...

  8. 一维数组转化为二维数组(java)

    由于经常在使用矩阵进行计算时,会首先将一维数组转为二维数组.因此,在这里记录一下,也希望对他人有帮助. package deal; /** author:合肥工业大学 管院学院 钱洋 *1563178 ...

  9. PHP如何判断一个数组是一维数组或者是二维数组?用什么函数?

    如题:如何判断一个数组是一维数组或者是二维数组?用什么函数? 判断数量即可 <?php if (count($array) == count($array, 1)) {echo '是一维数组'; ...

最新文章

  1. python压缩与解压缩
  2. 标注反向优化 生成全体测试集空标注(无需坐标、只要送给权重evaluate即可)predicted
  3. C语言程序练习- L1-010 比较大小 (10分)
  4. 从IC设计来看Trace32的用途
  5. ASP.NET Web API 中 特性路由(Attribute Routing) 的重名问题
  6. SilverLight非托管代码的初始化进度条方法
  7. 写出下列的中文意思 HTML,计算机网络技术考试试题纸B卷
  8. SpringBoot框架中各层(DTO、DAO、Service、Controller)理解
  9. 文件服务器映驱动,映射驱动程序文件 - Windows drivers | Microsoft Docs
  10. websocket php MySQL_PHP写了一个websocket服务,mysql连接实例丢失问题怎么解决?
  11. 你靠什么在单位立足?此文堪称经典
  12. 【使用工具推荐】使用什么录像软件录制屏幕
  13. Linux下安装并启动MongoDB
  14. 更换计算机桌面背景的教案,《设置桌面背景》教学设计范文
  15. New Year Garland(dp+组合数学)
  16. 零基础无实物一步一步学PLCS7-1200仿真(一)--电动机的点动控制
  17. thinkphp5+php微信公众号二维码扫码关注推广二维码事件实现
  18. Windows 10 D盘操作需要管理员权限
  19. 电子签名java上上签_电子签名怎么用才能合法合规呢?
  20. ‘A’与”A”的区别

热门文章

  1. service mysql restart 和service mysqld restart 的区别
  2. 基于二叉查找树的图书影碟租赁管理系统c#实现(控制台)
  3. matlab 大写变小写,matlab 修改文件夹下所有文件名大写为小写
  4. 基于 Agora SDK 实现 Web 端的多人视频互动
  5. PHP Filter伪协议Trick总结
  6. cxf动态构建webservice
  7. latex与文章写作心得
  8. 故障案例----tokudb启动失败
  9. 学堂在线部分网课笔记---Web设计与应用
  10. 在VS2008中调用Matlab的m文件(转)