I am trying to print a value in an array, but cannot print the value as normal. Trying to learn up on macros using C89 only. Here is the code:
#include<stdarg.h>
#include <stdio.h>
int getValues(int, ...);
int *myArr;
int getValues(int num_args, ...) {
int val[num_args];
va_list ap;
int i;
va_start(ap, num_args);
for(i = 0; i < num_args; i++) {
val[i] = va_arg(ap, int);
}
myArr = val;
va_end(ap);
return *val;
}
int main(void) {
getValues(1,2,3,4);
for(int i = 0; i < sizeof(myArr); ++i){
printf("%d\n", myArr[i]);
}
printf("Values are %d\n", myArr[0]); // Want this to print 1
return 0;
}