【发布时间】:2013-12-15 19:34:49
【问题描述】:
我有一个任务是制作一本字典。 它将包含 x 数量的单词及其定义(由用户输入)。 说明说字典应该是 char*** 类型(指针的二维数组=数组=字符串),但我完全不知道如何动态分配数组的大小。它应该有 2 行,1 行用于单词,另外 1 行用于定义,列数取决于字典中有多少单词。在网上寻求帮助时,我想到了这个:
char** AllocateArray(int line, int column)
{
char** pArray=(char**)malloc(line*sizeof(char*));
int i;
for(i=0;i<2;i++)
pArray[i]=(char*)malloc(column*sizeof(char));
return pArray;
}
我应该对代码进行哪些更改才能与我的 char*** 一起使用? 使用 Visual Studio 2012
编辑:
我现在有一个问题:
void inputString(char* p1)
{
char buffer[80];
printf("\nEnter a word:");
scanf("%s",buffer);
p1=(char*)malloc(strlen(buffer)+1);
if(p1!=NULL)
{
strcpy(p1,buffer);
free(buffer);
}
}
我输入一个单词后它立即崩溃。函数接收到的 char* 是 dictionary[i][j]。 ——
【问题讨论】:
-
成为“三星级程序员”通常不是一件好事。
标签: c arrays string pointers malloc