Acrity 发表于 2019-9-25 21:32:30

C语言如何合并数组

我现在有两组数据,想把它合并成一个数组,求大神指点
unsigned char ff[]={255,255};
unsigned char sjd[]={1,0,0,128,0,0,0,0,0,1,81,2,42,0,163,6,1,0,0,0,1,33,0,6,5,0,0,0,8,0,16,0,0,0,0,2,0,0,0,0,1,1,1,0,0,10,6,0,0,0};

Acrity 发表于 2019-9-25 21:33:37

本帖最后由 Acrity 于 2019-9-26 09:04 编辑

合并了好求CRC校验

jackz007 发表于 2019-9-25 23:57:05

本帖最后由 jackz007 于 2019-9-25 23:59 编辑

      ff 和 sjd 都是通过定义得到的字符数组,所以,占用的内存空间大小就是实际元素的数量,可以通过 sizeof() 函数获取。

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
      unsigned char ff[] = {255,255}                                                                                                       ;
      unsigned char sjd[] = {1,0,0,128,0,0,0,0,0,1,81,2,42,0,163,6,1,0,0,0,1,33,0,6,5,0,0,0,8,0,16,0,0,0,0,2,0,0,0,0,1,1,1,0,0,10,6,0,0,0} ;
      unsigned char * p                                                                                                                  ;
      int k , m , n                                                                                                                        ;
      m = sizeof(ff)                                                                                                                     ;
      n = sizeof(sjd)                                                                                                                      ;
      p = (unsigned char *)malloc(m + n)                                                                                                   ;
      for(k = 0 ; k < m ; k ++)p = ff                                                                                                ;
      for(k = 0 ; k < n ; k ++)p = sjd                                                                                           ;
      for(k = 0 ; k < m + n ; k ++) {
                if(! (k % 16)) {
                        if(k) printf("\n")                                                                                                   ;
                        printf("\t")                                                                                                         ;
                } else {
                        printf(" ")                                                                                                          ;
                }
                printf("%02x" , p)                                                                                                      ;
      }
      free(p)                                                                                                                              ;
}

Acrity 发表于 2019-9-26 09:26:50

jackz007 发表于 2019-9-25 23:57
ff 和 sjd 都是通过定义得到的字符数组,所以,占用的内存空间大小就是实际元素的数量,可以通过 siz ...

我在结尾break了一下,就能把这两个数组结合输出了,非常感谢您的帮助!!!!谢大哥!!!
页: [1]
查看完整版本: C语言如何合并数组