当前位置: 技术问答>linux和unix
请问如何在linux (redhat)下传递一维数组指针?
来源: 互联网 发布时间:2015-10-12
本文导语: 例如我定义了一个指针数组。 char * a[10]; 我想将他传递到我写的一个函数 int freeusr(char *a[],int size) 但是我一调用就出错。请问如何解决。 | 你想向int freeusr()传递指针数组 应该这样in...
例如我定义了一个指针数组。
char * a[10];
我想将他传递到我写的一个函数
int freeusr(char *a[],int size) 但是我一调用就出错。请问如何解决。
char * a[10];
我想将他传递到我写的一个函数
int freeusr(char *a[],int size) 但是我一调用就出错。请问如何解决。
|
你想向int freeusr()传递指针数组
应该这样int freeusr(char **a[],int size)
~~
这样就把指针数组的地址(即指针的指针)传给了int freeusr()
应该这样int freeusr(char **a[],int size)
~~
这样就把指针数组的地址(即指针的指针)传给了int freeusr()
|
其中 b 声明为 char *b[5];
用 freeusr(&b,2); //传递的实际是数组的指针
int freeusr(char *a[],int size) //定义的指针数组
应该这样int freeusr(char **a[],int size) //接受数组的指针
用 freeusr(&b,2); //传递的实际是数组的指针
int freeusr(char *a[],int size) //定义的指针数组
应该这样int freeusr(char **a[],int size) //接受数组的指针
|
先要分配空间给b
|
up~~
|
你有没有给指针分配空间啊?