read_csv.c:57:12: warning: function returns address of local variable [-Wreturn-local-addr]
return data;
^~~~
问题原因,在返回局部变量,函数返回了局部变量(函数中的局部变量存放在stack中,函数执行完成之后会自动释放,因此不应将局部变量的指针作为返回值。)。在定义过程中加static
static int *data[84];
//data[COUNT] = (int*)malloc(84 * sizeof(int)); //每一行分配内存
用完记得free
方法一:设置全局变量,这样你在形参中改变全局变量,在实参中也会有效。所以你可以在形参中改变多个全局变量的值,那么在实参中就相当于返回多个值。
方法二:如果你用数组名作为形参,那么你改变数组内容,比如排序,或者进行加减运算,回到实参时依然是有效的。这样也会返回一组值。
方法三:可以利用指针变量,这个原理和方法二是一样的,因为数组名本身就是数组首元素的地址。就不多说了
int **Open_CSV(int *count){
int Number = 99;
*count = Number
}
最后会改变值
宏定义无法修改
read_csv.c:38:26: error: lvalue required as increment operand
COUNT++;
^~
int *count , a = 0, b = 0, c = 0;
static int **data, *IQ_I[42], *IQ_Q[42];
*IQ_Q = &b, *IQ_I = &c, count = &a;
data = Open_CSV(count);
不初始化也许程序看起来没什么问题,但可能出现野指针的问题,运行到一半地址会突然变掉。导致出现出现,