Dovrebbe diventare una cosa del genere:
codice:
#include <stdlib.h>
#include <stdio.h>
#define N 2
unsigned int* input16 (unsigned int a){
unsigned int* op = (unsigned int*)malloc(sizeof(unsigned int)*N);
if(op == NULL){
exit(1);
}
unsigned int ms[N];
int i;
ms[0]=65535;
ms[1]=4294901760;
for (i=0;i<N;i++)
op[i]=a & ms[i];
op[1]=op[1]>>16;
for (i=0;i<N;i++)
printf ("%u ",op[i]);
return op;
}
int main(){
unsigned int* p = input16(5);
int k;
printf("\n");
for(k=0;k<N;k++)
printf("%u ",p[k]);
delete[] p;
getchar();
return 0;
}