C语言系列之C语言如何返回字符串数组
2017-10-12 15:26
309 查看
问题出在如此
想了一下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<sz;i++){ p[i] = (char *) malloc(sizeof(char)*20); int temp = rand()%8; //生成8个随机数 p[i] = res[temp]; } return p; //p是指向指针数组的指针 }
这样返回的P就是指向数组的指针了,实际上就是一个字符串数组
函数解释:
函数返回一个字符串数组,实际上就是指向数组的指针,传进去的是返回的数组的大小以及一个字符串数组,用来处理数据用。
这个函数完成的功能就是把一个比较小规模的字符串数组,模拟成比较大规模的字符串数组,具体细节是怎么做的请参照我下一篇文章
相关文章推荐
- C语言实现用指定字符切割字符串并返回数组
- 如何使用ajax接受json返回的字符串数组,并动态异步显示到超链接的下面
- Objective-c语言_用字符串方法和数组如何获取物理IP地址
- C语言------如何实现字符串数组和整形数组在终端上任意输
- String类以及如何将字符串转化为数组,将字符和各种数值返回字符串格式,Integer和int 区别,StringBuilder和StringBuffer区别
- C语言 第 7 节 如何将字符串指针指向的内容赋值给数组
- 指针和数组、字符串 | C语言教程 | C语言系列教程
- iOS开发系列--C语言之数组和字符串
- IOS开发系列--C语言之数组和字符串
- 通过JNI实现C语言设置Java二维字符串数组并返回该字符串数组
- C语言自定义函数如何返回数组
- c语言中如何给字符串数组赋值
- c语言中如何返回一个数组函数
- 字符数组和字符串 | C语言教程 | C语言系列教程
- C语言中文件操作--如何将文本数据正确读到字符串数组中
- IOS开发系列--C语言之数组和字符串
- iOS开发系列--C语言之数组和字符串
- C语言中字符数组和字符串指针分析
- C语言:scanf("%s",a)和gets(a)的区别(a[i]是字符串数组)
- js中如何把字符串转化为对象、数组示例代码