本文共 497 字,大约阅读时间需要 1 分钟。
想了一下C语言如何实现返回一个字符串数组,答之:没有这种功能,但是吧,还是有办法实现的。
那就是指向数组的指针
char **p 这个p就是指向数组的指针,它指向一个数组的起始地址.
想要引用里面的数组时,直接使用p[i] 即可。我们知道C语言里面的各种数组,本质上都是指针,并且函数其实也是不能把数组当作参数的,实际上都是把数组的地址传进去了,实际上就是指向数组地址的指针。
说了这么多废话,那么我们就实现一下吧。
char **getData(int sz,char **res){ char **p = (char **) malloc((sz+1)*sizeof(char *)); // char **p; for(int i=0;i
这样返回的P就是指向数组的指针了,实际上就是一个字符串数组
函数解释:
函数返回一个字符串数组,实际上就是指向数组的指针,传进去的是返回的数组的大小以及一个字符串数组,用来处理数据用。这个函数完成的功能就是把一个比较小规模的字符串数组,模拟成比较大规模的字符串数组,具体细节是怎么做的请参照我下一篇文章
转载地址:http://otyjn.baihongyu.com/