首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-05-31 
字符串二维数组函数形参C/C++ code#includestdio.h#define LIM 5#define LISENSE 10void stsrt(char * s

字符串二维数组函数形参

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 **

热点排行