zoukankan      html  css  js  c++  java
  • C语言 一维数组叠加为二维数组样例

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

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

    代码如下:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    
    #define MAX_RANK    15
    #define MAX_COLUMN  7
    
    int 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("
    ");    
        }
        system("pause");
        return 0;
    }

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

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

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    
    #define MAX_RANK    15
    #define MAX_COLUMN  7
    
    int 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("
    ");    
        }
        system("pause");
        return 0;
    }
  • 相关阅读:
    第8章 对象的容纳
    第 4 章 初始化和清除
    第 3 章 控制程序流程
    maven教程
    使用Eclipse构建Maven项目 (step-by-step)
    将 Maven生成的java项目转化为支持 Eclipse IDE的项目
    eclipse 中修改 M2_REPO的值
    FilenameUtils工具类
    导出excel小结(C#,.NET,Wpf)
    NPOI导出Excel表功能实现(多个工作簿)(备用)
  • 原文地址:https://www.cnblogs.com/shuqingstudy/p/5219318.html
Copyright © 2011-2022 走看看