【发布时间】:2018-05-17 00:55:44
【问题描述】:
我在做一个学校项目时遇到了一点麻烦,我不能在这里发布我所有的代码,因为它可能会被我的同学复制。
我创建了一个名为 Messages 的动态结构,其中包含变量 char ** phrases、int lines(目前的短语数)、int heaplines(max number of lines my char ** phrases can hold)。
我的程序应该这样工作:它要求用户插入消息,为它们分配内存并增加变量行,这是他目前拥有的消息数,如果达到最大值,那么我会进行重新分配+10 加行,它增加了堆线。但我真正的问题是我无法为用户插入的字符串分配内存,因为它给了我一个错误提示:
Incompatible Pointers types "char **" and "char *"
.
MSG->phrases=(char*)malloc((tamphrase+1)*sizeof(char));
为char ** msg 的矩阵分配行它工作得很好,但是当我尝试为要插入的字符串分配内存时,它给我上面那行代码的错误。
顺便说一句,我怎样才能增加短语矩阵的行数? 例如:
MSG->(phrases+i)=(char*)malloc((tamphrase+1)*sizeof(char));
(我知道这是错误的,但我希望你们知道我想说什么)
【问题讨论】:
-
请发布您的代码。这是获得答案的唯一方法