が、私はあまりのポインタを使用してのstrdup代わりにmalloc + strlenを+にstrcpyを使用することになり、それが何であるかthatsのよう:
#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の質問があります。おそらくあなたは、受け入れられたかどうかを確認するために与えられた答えを見ることができます。 –