added constructor function
This commit is contained in:
+17
-7
@@ -10,29 +10,39 @@ struct IntArray{
|
||||
|
||||
void readintarray(struct IntArray *input) {
|
||||
printf("inputlength:%zu\n", input->length);
|
||||
for (int i = 0; i < input->length; i++) {
|
||||
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 = malloc(sizeof(struct IntArray)); /* allocate memory for struct */
|
||||
int *myarray = malloc(sizeof(int) * length); /* allocate memory for array that the struct points to */
|
||||
struct IntArray *myintarray = create_int_array(length);
|
||||
|
||||
myintarray->data = myarray; /* make sure the pointer in the struct points to the array */
|
||||
myintarray->length = length; //forgot to actually assign a value to the struct
|
||||
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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user