C 尝试访问字符指针数组时出现分段错误
所以我创建了一个处理字符指针数组的函数 通过使用[]运算符。 功能C 尝试访问字符指针数组时出现分段错误,c,C,所以我创建了一个处理字符指针数组的函数 通过使用[]运算符。 功能 int fetchargs(char **argv){ argv[0][0] = 'A'; }; 将导致分割错误。 我传递一个字符指针数组,该数组初始化如下 char argv[ARG_NUM][MAX_LINE]; 试图找出原因,但没有成功 可能的问题是什么?这是您应该如何将其传递给函数的,因为它不是字符**。您必须删除该文件;在花括号之后 /*Dim is your ARG_NUM and dim2 MAX_L
int fetchargs(char **argv){
argv[0][0] = 'A';
};
将导致分割错误。
我传递一个字符指针数组,该数组初始化如下
char argv[ARG_NUM][MAX_LINE];
试图找出原因,但没有成功
可能的问题是什么?这是您应该如何将其传递给函数的,因为它不是字符**。您必须删除该文件;在花括号之后
/*Dim is your ARG_NUM and dim2 MAX_LINE*/
int fetchargs(int dim1,int dim2,char pass[][MAX_LINE]){
/*Some stuff*/
return 1;
}/*You've a semicolon here*/
char**argv是指向字符指针或双指针的指针
其中as argv[ARG_NUM][MAX_LINE]本质上是一个二维字符数组
这里的底线是尊重数据类型
char[][]与char**int-fetchargschar**argv{->int-fetchargsint col_size,char-argv[][col_size]{,调用fetchargsMAX_LINE,argv;哇!当然不一样..可能是小时..char[][]是一个字符矩阵,可能重复
char argv[ARG_NUM][MAX_LINE];
.........
.........
int fetchargs(char argv[][MAX_LINE]){
argv[0][0] = 'A';
return 0;
};