From ef8b5d6c786828196070c8f6dc50ed8e6f04a764 Mon Sep 17 00:00:00 2001 From: ruanyf Date: Thu, 21 Oct 2021 09:02:44 +0800 Subject: [PATCH] docs(memory): fixed #46 --- docs/memory.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/memory.md b/docs/memory.md index c7e3acc..35f5d9b 100644 --- a/docs/memory.md +++ b/docs/memory.md @@ -157,7 +157,7 @@ void gobble(double arr[], int n) { 两者的区别主要有两点: -(1)`calloc()`接受两个参数,第一个参数是数据类型的单位字节长度,第二个是该数据类型的数量。 +(1)`calloc()`接受两个参数,第一个参数是某种数据类型的值的数量,第二个是该数据类型的单位字节长度。 ```c void* calloc(size_t n, size_t size); @@ -168,11 +168,11 @@ void* calloc(size_t n, size_t size); (2)`calloc()`会将所分配的内存全部初始化为`0`。`malloc()`不会对内存进行初始化,如果想要初始化为`0`,还要额外调用`memset()`函数。 ```c -int *p = calloc(10, sizeof(int)); +int* p = calloc(10, sizeof(int)); // 等同于 -int *q = malloc(sizeof(int) * 10); -memset(q, 0, sizeof(int) * 10); +int* p = malloc(sizeof(int) * 10); +memset(p, 0, sizeof(int) * 10); ``` 上面示例中,`calloc()`相当于`malloc() + memset()`。