读书人

字符串二维数组函数形参解决思路

发布时间: 2012-05-31 12:19:24 作者: rapoo

字符串二维数组函数形参

C/C++ code
#include<stdio.h>#define LIM 5#define LISENSE 10void stsrt(char * string[],int num);int main(void){    char ch[LIM][LISENSE];    char * ptr[LIM];    int ct=0;    while(ct<LIM&&gets(ch[ct])&&ch[ct][0]!='\0')    {        ptr[ct]=ch[ct];        //这里用ptr=ch;居然显示错误?同为地址,为什么不能赋值?为什么要赋值给指针才能操作?        ct++;    }    stsrt(ptr,ct);//这里使用stsrt(ch,ct);为什么不可以?    for(ct=0;ct<LIM;ct++)        puts(ptr[ct]);    return 0;}//对一个字符串二维数组进行操作,必须赋予指针吗?比如该题,为什么不能传送ch?反正都是地址。void stsrt(char * string[],int num){    *********}//麻烦讲解一下。


[解决办法]
ch跟char **还不是等同的,我只知道这么多
而形参中 char *[]跟char **是等同的,而且 实参的char *[]可以自动转换为char **, 但是实参的char [][]不能直接转换为 char **

读书人网 >C++

热点推荐