日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/3/13 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 二维数组复制、清零及打印显示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <stdlib.h> #include <stdio.h> #include <string.h>//二維整型數組打印顯示 void printarr2d(int (*a)[3],int row,int col) {int i,j;for(i=0; i<row; i++) { for(j=0; j<col; 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 <string.h>

? 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) );

?

轉載于:https://www.cnblogs.com/shuqingstudy/p/5162585.html

總結

以上是生活随笔為你收集整理的C语言 二维数组复制、清零及打印显示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。