【发布时间】:2024-05-18 02:00:01
【问题描述】:
我构建了一个从用户那里获取字符串输入的函数。 然后它分配内存,但在 3 次输入后程序崩溃。
void friendNamesInput(int friendNum, char **ppFriendName) {
char name[50] = { 0 }; //name
char *byteReALL = 0; //allocate bytes
int i = 0;
for (i = 0; i < friendNum; i++)
{
printf("Enter name of friend %d:", i + 1);
fgets(name, 50, stdin); //input 50
byteReALL = (char*)malloc(sizeof(char)*strlen(name)); //allcate nedded mem
strncpy(byteReALL, name,50); //copy string data
ppFriendName[i] = byteReALL; //address to array of arrays
}
}
【问题讨论】:
标签: c arrays string memory malloc