51 lines
1.1 KiB
C
51 lines
1.1 KiB
C
|
|
#include <stdio.h>
|
|
#include <stddef.h>
|
|
#include <stdlib.h>
|
|
#include <time.h>
|
|
struct IntArray{
|
|
int *data;
|
|
size_t length;
|
|
};
|
|
|
|
void readintarray(struct IntArray *input) {
|
|
printf("inputlength:%zu\n", input->length);
|
|
for (size_t i = 0; i < input->length; i++) {
|
|
printf("digit:%d = %d\n", i, input->data[i]);
|
|
}
|
|
}
|
|
|
|
struct IntArray *create_int_array(size_t length) {
|
|
struct IntArray *myintarray = malloc(sizeof(struct IntArray)); /* allocate memory for struct */
|
|
|
|
myintarray->data = malloc(sizeof(int) * length); /* make sure the pointer in the struct points to the array */
|
|
myintarray->length = length; //forgot to actually assign a value to the struct
|
|
|
|
if (myintarray->data == NULL) {
|
|
exit(0);
|
|
}
|
|
|
|
return myintarray;
|
|
}
|
|
|
|
int main() {
|
|
srand(time(NULL));
|
|
printf("how many numbers?\n");
|
|
int length;
|
|
scanf("%d", &length);
|
|
|
|
struct IntArray *myintarray = create_int_array(length);
|
|
|
|
for (int i = 0; i < length; i++) {
|
|
myintarray->data[i] = rand() % 10;
|
|
printf("number:%d = %d\n",i,myintarray->data[i]);
|
|
}
|
|
|
|
readintarray(myintarray);
|
|
|
|
free(myintarray->data);
|
|
free(myintarray);
|
|
|
|
return 0;
|
|
}
|