不知道这个提法对不对。。。我有一个函数返回值是char**,我得初始化,可以这样char * name[]={"","",""}是吧,这样初始化是3个空的数组。可是这个数组的大小是根据我后面交互操作时选择的数量来定的,现在初始化不知道怎么确定它的大小,char * name[]=后面可以跟一个可变的数组吗?。。。不晓得说清楚了没
char**类型变量一般用于动态使用二维数组,操作方法如下:
定义char**类型变量,初始化成NULL,或不初始化。
动态获得数组行数num1
分配行指针数组空间
再动态的获得相应的每行的数据个数num2(各行可不同)
为每行分配相应的空间,进行数据存储
应用完成后,要先释放每行的指针
再释放二维指针
参考代码:
#include <stdlib.h> //malloc need那如果我已经得到了数组大小int num,当然num是通过交互得到,怎样通过num(这里相当于参数)来初始化?
追答不能初始化一个可变数组,
可以定义一个指针,根据得到的num,用molloc函数获取数组;
或者根据使用说明,初始化一个你确认会大于num的数组。