【发布时间】:2009-07-19 08:16:54
【问题描述】:
当我尝试编译以下代码时,我收到一个错误:“在参数 1 中输入错误到 'allocate';在指示的行找到 'char * *',预期的 'char *” (
#include <stdio.h>
#include <string.h>
void allocate(char *dt);
int main(void)
{
char *data[3];
allocate(data); <<<<<
return 0;
}
void allocate(char *dt)
{
int i;
char buf[] = "A test string";
for (i = 0; i < 3; i++){
strcpy(&dt[i], buf);
printf("%s\n", dt[i]);
}
}
我的理解是我应该这样调用 allocate:allocate(&data) 但是我收到以下错误:“在参数 1 中输入错误到 'allocate';找到 'char * (*)[3]', expected 'char *'"。
很明显,我正在尝试使 *data[] == buf 的内容。
【问题讨论】: