我有這個簡單的程序,需要知道應該在哪個基礎上選擇變量(howToPredectThisNumber
)(即char*
字符串的大小)。如何確定我的char *所需的內存量?
在這種情況下最好選擇char[]
或char*
?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct
{
char* name;
}Emp;
void init(Emp** emp)
{
int howToPredectThisNumber = 50;
*emp = malloc(sizeof(Emp));
(*emp)->name = NULL;
(*emp)->name = calloc(howToPredectThisNumber, sizeof(char*));
}
void release(Emp** emp)
{
free((*emp)->name);
free(*emp);
}
void setName(Emp* emp, char* newName)
{
strcpy(emp->name, newName);
}
char* getName(Emp* emp)
{
return emp->name;
}
int main(void)
{
Emp* emp;
init(&emp);
setName(emp, "Muhammad Abdullah");
printf("%s", getName(emp));
release(&emp);
return 0;
}
您有近90個問題沒有被接受的答案。也許你可以看看你給的答案,看看是否可以接受。 –