我想知道为什么我会这样做,
错误:
error: dereferencing pointer to incomplete type
strncpy(variables->part1[i], environ[i], placement);
主要代码:
struct vars {
char **part1;
char **part2;
} ;
static struct vars *variables;
exportenviron(&variables);
功能代码:
void exportenviron(struct vars* variables)
{
int i;
char *pch;
int placement;
for(i=0; environ[i]; i++) {
pch = strchr(environ[i], '=');
placement = pch-environ[i]+1;
strncpy(variables->part1[i], environ[i], placement);
}
}
答案 0 :(得分:2)
包含exportenviron
的文件并未查看结构的实际定义:相反,它只知道struct vars
存在,而不知道其中的内容。例如,您的.c文件中包含vars.h
可能包含exportenviron
,而vars.h
仅包含struct vars;