#include <stdio.h>
#include <stdlib.h>
int* copia(int *vet, int tam) {
int *retorno
= malloc(tam
* sizeof(int)); for (int i = 0; i < tam; i++) retorno[i] = vet[i];
return retorno;
}
int main(void) {
int tam = 3;
int *vet
= malloc(tam
* sizeof(int)); vet[0] = 1;
vet[1] = 2;
vet[2] = 3;
int *novo = copia(vet, tam);
}
//https://pt.stackoverflow.com/q/102162/101
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCogY29waWEoaW50ICp2ZXQsIGludCB0YW0pIHsKICAgIGludCAqcmV0b3JubyA9IG1hbGxvYyh0YW0gKiBzaXplb2YoaW50KSk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IHRhbTsgaSsrKSByZXRvcm5vW2ldID0gdmV0W2ldOwogICAgcmV0dXJuIHJldG9ybm87Cn0KCmludCBtYWluKHZvaWQpIHsKCWludCB0YW0gPSAzOwogICAgaW50ICp2ZXQgPSBtYWxsb2ModGFtICogc2l6ZW9mKGludCkpOwogICAgdmV0WzBdID0gMTsKICAgIHZldFsxXSA9IDI7CiAgICB2ZXRbMl0gPSAzOwoJaW50ICpub3ZvID0gY29waWEodmV0LCB0YW0pOwoJcHJpbnRmKCIwIC0+ICVkXG4iLCBub3ZvWzBdKTsKCXByaW50ZigiMSAtPiAlZFxuIiwgbm92b1sxXSk7CglwcmludGYoIjIgLT4gJWRcbiIsIG5vdm9bMl0pOwoJZnJlZShub3ZvKTsKfQoKLy9odHRwczovL3B0LnN0YWNrb3ZlcmZsb3cuY29tL3EvMTAyMTYyLzEwMQ==