b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

calloc-申请并初始化一系列内存空间

电脑杂谈  发布时间:2020-06-01 18:17:31  来源:网络整理

calloc_calloc内存哪里分配_calloc内存哪里分配

calloc函数文档

功能摘要:

calloc函数动态应用大小为size的nmemb连续内存空间(即,所应用的总空间大小为nmemb * size)calloc内存哪里分配,并且所有这些内存空间均初始化为0. 如果nmemb或size参数的值为0,返回值将根据标准库的实现而有所不同,它可以为NULL,也可以返回一个指针值,以后可以将其传递给free函数.

原型:

calloc内存哪里分配_calloc_calloc内存哪里分配

#include <stdlib.h>
...
void *calloc(size_t nmemb, size_t size);

参数分析:

指定要分配的内存块数量

以字节为单位指定每个内存块空间的大小

calloc_calloc内存哪里分配_calloc内存哪里分配

返回值:

1. 如果函数调用成功,它将返回一个指向请求的内存空间的指针. 由于返回类型是一个空指针(void *),因此可以将其转换为任何类型的数据.

2. 如果函数失败,则返回值为NULL.

3. 如果nmemb或size参数设置为0,则返回值也可能为NULL,但这并不意味着函数调用失败.

calloc内存哪里分配_calloc内存哪里分配_calloc

演示:

#include  <stdio.h>
#include  <stdlib.h>
int main(void)
{
        int i, num;
        long sum = 0;
        int *buffer;
        printf("你准备输入多少个整数:");
        scanf("%d", &num);
        buffer = (int *)calloc(num, sizeof(int));
        if (buffer == NULL)
        {
                printf("内存空间不足!\n");
                exit(1);
        }
        for (i = 0; i < num; i++)
        {
                printf("请输入第%d个数字:", i+1);
                scanf("%d", &buffer[i]);
                sum += buffer[i];
        }
        printf("它们的和是:%ld\n", sum);
        free(buffer);
        return 0;
}

备注:

calloc内存哪里分配_calloc内存哪里分配_calloc

calloc函数和malloc函数之间的重要区别在于,calloc函数在申请内存后会自动将内存空间初始化为零,并且malloc函数不会执行初始化操作,并且内部数据是随机的.

因此,以下两种书写方式是等效的:

// calloc() 分配内存空间并初始化
char *str1 = (char *)calloc(8, 10);
// malloc() 分配内存空间并用 memset() 初始化
char *str2 = (char *)malloc(80);
memset(str2, 0, 80);

震威网络为您提供各种服务:

软件开发,计算机配件销售,WIFI路由器销售,现场计算机维护,现场安装系统,系统安装,软件和硬件安装,计算机除尘,显示器维护,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络维护calloc内存哪里分配,打印机维修,打印机碳粉,Apple计算机安装系统,Apple计算机双重安装系统,监视安装和维护,计算机外包,笔记本计算机维修,餐饮,美容行业软件安装等. . . .


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-230279-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 韦昊
        韦昊

        因为妓者和粉仔没有什么区别

      热点图片
      拼命载入中...