#include <stdio.h>
void cat_data(int*data1,const int*data2,int len2);
int main(void) {
int data1[7]={1,2,0,0,0,0,0};
int data2[5]={3,4,5,6,7};
int len2= sizeof(data2)/sizeof(data2[0]); //全体のバイト数÷1つのバイト数=要素の数
cat_data(data1, data2, len2);
for (int k = 0; k < 7; k++) {
printf("data1[%d] = %d\n", k
, data1
[k
]); //結果を出力 }
return 0;
}
void cat_data(int*data1,const int*data2,int len2){
int i=0;
while (*data1 != 0) {
data1++; //ポインタを数値が入っていない最初に持ってくる
}
while (len2 > 0) {
*data1++ = *data2++;//1つずつ入れていく
len2--;
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGNhdF9kYXRhKGludCpkYXRhMSxjb25zdCBpbnQqZGF0YTIsaW50IGxlbjIpOwoKaW50IG1haW4odm9pZCkgewoJaW50IGRhdGExWzddPXsxLDIsMCwwLDAsMCwwfTsKCWludCBkYXRhMls1XT17Myw0LDUsNiw3fTsKCQoJaW50IGxlbjI9IHNpemVvZihkYXRhMikvc2l6ZW9mKGRhdGEyWzBdKTsgIC8v5YWo5L2T44Gu44OQ44Kk44OI5pWww7cx44Gk44Gu44OQ44Kk44OI5pWwPeimgee0oOOBruaVsAoJCgljYXRfZGF0YShkYXRhMSwgZGF0YTIsIGxlbjIpOwoJCglmb3IgKGludCBrID0gMDsgayA8IDc7IGsrKykgewogICAgICAgIHByaW50ZigiZGF0YTFbJWRdID0gJWRcbiIsIGssIGRhdGExW2tdKTsgIC8v57WQ5p6c44KS5Ye65YqbCiAgICB9CgkKCglyZXR1cm4gMDsKfQoKdm9pZCBjYXRfZGF0YShpbnQqZGF0YTEsY29uc3QgaW50KmRhdGEyLGludCBsZW4yKXsKCWludCBpPTA7CgkKCXdoaWxlICgqZGF0YTEgIT0gMCkgewogICAgICAgIGRhdGExKys7ICAgICAgICAgICAgLy/jg53jgqTjg7Pjgr/jgpLmlbDlgKTjgYzlhaXjgaPjgabjgYTjgarjgYTmnIDliJ3jgavmjIHjgaPjgabjgY/jgosKICAgIH0KICAgIAogICAgd2hpbGUgKGxlbjIgPiAwKSB7CiAgICAgICAgKmRhdGExKysgPSAqZGF0YTIrKzsvLzHjgaTjgZrjgaTlhaXjgozjgabjgYTjgY8KICAgICAgICBsZW4yLS07CiAgICB9CgkKfQ==