#include #include#include

//二维整型数组打印显示

void printarr2d(int (*a)[3],int row,intcol)

{inti,j;for(i=0; i

{for(j=0; j

{

printf("%d", a[i][j]);

}

printf("\n");

}

}

main()

{

int i,j;

int a[2][3]={{1,2,3},{4,5,6}};

int b[2][3];

//二维数组复制(第三个参数为数组总的字节数)

memcpy(b,a, 2*3*sizeof(int) );//memcpy(&b[0][0],&a[0][0],24);

//二维数组打印显示 (before zero)

printarr2d(b,2,3);

//二维数组清零

memset(b,0, 2*3*sizeof(int) );

//二维数组打印显示 (after zero)

printarr2d(b,2,3);

system("pause");

return 0;

}

c语言中如何复制一个二维数组的所有元素的值到另外一个二维数

使用for循环固然可以,但是总感觉非常麻烦

#include"stdio.h"

int main(void)

{

int i,j;

int a[2][5]={{1,2,3},{4,5,6,8}};

int b[2][5];

for(i=0;i<2;i++)

{

for(j=0;j<5;j++)

{

b[i][j]=a[i][j];

}

}

printf("%d",b[1][2]);

}

(1)

mencpy的原型是void *memcpy(void *dest, const void *src, size_t n);

1 为什么*memcpy这里前面有个*号??

2 为什么函数的参数里面void * src 前面有个修饰符const

答:

1: memcpy 返回值为void *

2:加 const 变为常量指针 防止在memcpy中对src指向的内容进行修改,函数的健壮性考虑

自己做的时候,就在想,如何不适用二重for循环的办法,对二维数组进行复制操作

看了下CSDN 的bbs结果真的有,非常感谢

注:

1)使用memcpy函数,memset函数都要引入库文件 #include

2)本来想对这个复制函数封装的,后来感觉没必要,直接使用,只不过要注意第三个参数为:数组整体内存所占bit数,要小心

(2)

memset(b,0, 2*3*sizeof(int) );

第一个值是数组地址,第二个是你要把数组中的值赋为多少,第三个是你要赋多少个元素。

总结版:

二维数组复制:

//二维数组复制(第三个参数为数组总的字节数)

memcpy(b,a, 2*3*sizeof(int) );//memcpy(&b[0][0],&a[0][0],24);

二维数组清零:

//二维数组清零

memset(b,0, 2*3*sizeof(int) );

c语言 复制二维数组,C语言 二维数组复制、清零及打印显示(示例代码)相关推荐

  1. C语言 二维数组复制、清零及打印显示

    #include <stdlib.h> #include <stdio.h> #include <string.h>//二维整型数组打印显示 void printa ...

  2. 二维数组清零 c语言,C语言 二维数组复制、清零及打印显示

    #include #include#include //二维整型数组打印显示 void printarr2d(int (*a)[3],int row,intcol) {inti,j;for(i=0; ...

  3. c语言地址数组,C语言多维数组的地址

    设有整型二维数组a[3][4]如下: 0   1   2   3 4   5   6   7 8   9  10  11 它的定义为: int a[3][4]={{0,1,2,3},{4,5,6,7} ...

  4. JavaScript(JS) 清空删除数组元素的多种方法及示例代码

    简介: 本文主要介绍JavaScript(JS)中,清空删除数组中的所有元素的多种方法,以及相关的示例代码. 1.使用[]得到一个新数组进行清空 例如, var arr1 = ['a','b','c' ...

  5. vector 二维数组_go语言基础教程——数组与切片

    今天是golang专题的第五篇,这一篇我们将会了解golang中的数组和切片的使用. 数组与切片 golang当中数组和C++中的定义类似,除了变量类型写在后面. 比如我们要声明一个长度为10的int ...

  6. java二维数组水平翻转,C 语言 利用二维数组实现对输入的数组进行翻转

    C 语言 利用二维数组实现对输入的数组进行翻转(帮助理解对图像翻转编辑原理) /* ?输入几行几列数字和翻转方式,如: 3 4 0即代表3行4列,左右翻转: 6 5 1即代表6行5列,上下翻转. 输入 ...

  7. C语言 二维数组的用法,二维数组方法用法 _C语言-w3school教程

    C语言 的 二维数组 C语言中的二维数组以行和列的形式表示,也称为矩阵. 它也被称为阵列数组或数组列表. 二维,三维或其他维度数组也称为多维数组. 二维数组声明 我们可以用以下方式在C语言中声明一个数 ...

  8. c语言中定义字母二维数组,C语言 | 数组

    原标题:C语言 | 数组 1. 一维数组的定义和使用通过对前面知识的学习,我们已经知道如何定义和使用一个一个的各种变量,但总有不够用的时候.举个例子,我要记录一个班32个同学C语言这科的成绩,难道要定 ...

  9. C语言入门系列之6.一维和二维数组

    数组 一.数组的概念 二.一维数组的定义与引用 1.一维数组定义 注意事项 常见错误 扩展:一维数组在内存中的存放 2.一维数组的引用 注意事项 3.一维数组的初始化 初始化赋值 动态赋值 三.二维数 ...

最新文章

  1. 个人技术生涯的感悟(2)
  2. 面试问题-使用Java线程做数学运算
  3. c#学习之基础篇(filter 筛选器)
  4. Linux上新建用户及赋权操作
  5. ASP中怎么实现SQL数据库备份、恢复!
  6. virtualBox下安装Linux6.4
  7. android hide方法 末班,android 如何引用@hide(隐藏)的类,方法和常量?
  8. Python入门(05) -- 类
  9. ffmpeg实战教程(八)Android平台下AVfilter 实现水印,滤镜等特效功能
  10. Linux 错误: $'\r': command not found错误解决
  11. 数据库索引介绍及使用
  12. Kinect2.0 vs2013的配置
  13. 【聚类分析】基于matlab交通干道车流量FCM聚类分析及预测【含Matlab源码 1141期】
  14. Tkinter文件夹选择路径功能+打开位置目录功能(Python3.6.X)
  15. keras-迁移学习-resnet101-踩过的坑
  16. OSI网络七层协议详解
  17. 【强烈推荐】国土档案管理信息系统产品使用说明书系列目录【附下载地址】
  18. 当拓普遇上SAP,展翅翱翔的雄鹰飞向了更高的天空
  19. 机器学习 贝叶斯方法_机器学习中的常客与贝叶斯方法
  20. 学Linux 学什么 ?

热门文章

  1. 【JVM】优化参数+优化工具
  2. 华为mate40pro有几种颜色
  3. 使用NTP自动同步时间
  4. 小新AIR14 摄像头无法正常显示
  5. CentOS 7安装Stunnel和Squid
  6. 天象集团UI培训:如何提升画面的设计感?图文排版的小技巧
  7. 华为防火墙USG6000V---内网访问外网---外网访问内网服务器(NAT服务器)示例配置
  8. Android 11适配指南之系统相机拍照、打开相册,安卓app开发教程
  9. semiplannar 什么是,QOMX_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka颜色格式
  10. QAbstractTableModel表格制作简单解析