【发布时间】:2020-10-08 04:40:26
【问题描述】:
我有结构
struct Person
{
char name[50];
int citNo;
float salary;
};
现在我做这个代码:
struct Person* p = malloc (sizeof(struct Person));
memset (p,0x00,sizeof(struct Person));
现在我想将其转换为 calloc (clean code) ,我该怎么做?
struct Person* p = calloc(sizeof(struct Person) ,1);
或者也许把1 不正确?什么是正确的方法?
【问题讨论】:
-
struct Person p*=>struct Person *p对于初学者 -
嗯,它是
void *calloc(size_t nmemb, size_t size);,所以它的参数正好相反。但它可能仍然有效 -
第一个参数是元素的数量,第二个是每个元素的字节大小
-
你试过
calloc这个电话吗?编译器告诉你什么? -
我试过了,但我问这段代码是否正确