首页 > 其他分享 >C语言-calloc

C语言-calloc

时间:2024-02-05 11:00:53浏览次数:31  
标签:初始化 字节 int 函数 C语言 calloc size

学习网址

C语言动态内存函数(malloc、calloc、realloc、free)详解:https://www.jb51.net/program/295325hjh.htm

C语言动态内存函数详解:https://www.jb51.net/article/223725.htm


calloc函数

需要头文件:<stdlib.h>

C语言-calloc_标准内存函数

calloc函数(动态内存分配函数):

void* calloc(size_t num, size_t size);

功能:

  • 函数的功能是,为num个 大小为size元素 开辟一块空间,并且把空间的 每一个字节初始化为0
  • num是元素的个数,size是每个元素的大小。(字节为单位)返回一个指向分配内存的指针。
  • 所以要对申请的内存空间初始化时,可以直接使用calloc函数。
  • 与malloc函数的区别:
  • malloc只是分配内存,而calloc还会将分配的内存初始化为0。
  • calloc函数会在返回地址之前把申请空间的每一个字节初始化为0.

举个例子:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int* p = (int*)calloc( 10,sizeof(int));
    if (p == NULL)
    {
        perror("calloc");
        exit;
    }
    free(p);
    p = NULL;
    return 0;
}

p指向的地址:

C语言-calloc_c函数_02

可以看到上面的p里面的10个元素地址是依次增加4的, 因为是int类型的所以每个元素占4字节,地址也是一样的4.


标签:初始化,字节,int,函数,C语言,calloc,size
From: https://blog.51cto.com/youyeye/9602167

相关文章

  • c语言判断是文件还是文件夹,软链接,硬链接
    摘自:文心一言在C语言中,可以使用stat()函数来判断一个路径对应的是文件、文件夹或者其他类型。#include<stdio.h>#include<sys/types.h>#include<sys/stat.h>intmain(){charpath[]="/path/to/file_or_folder";//要判断的路径structstatfileInfo......
  • 探索C语言的数据类型:解密编程世界的核心秘密
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......
  • 探索C语言的数据类型:解密编程世界的核心秘密
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......
  • (2024.1.29-2024.2.4)C语言学习小结
    本周主要围绕《HeadfirstC》这本书展开C语言学习,按照计划,我学习了的内容。基本内容这周学习的内容像是上学期最后的内容的扩展、延申、深入,高级函数那块有点绕但慢慢啃下来还可以接受。以下是思维导图:遇到的问题与解决、经验教训等问题0(上周的问题这周才解决):看到书里......
  • C语言-malloc学习
    学习网址C语言动态内存函数(malloc、calloc、realloc、free)详解:https://www.jb51.net/program/295325hjh.htmC语言动态内存函数详解:https://www.jb51.net/article/223725.htm在C语言中,动态内存函数是块重要的知识点,以往,我们开辟空间都是固定的。数组编译结束后就不能继续给它开......
  • C语言解题||杨氏矩阵
    题目:请编写一个程序,在杨氏矩阵中查找某个数字是否存在。要求:时间复杂度小于O(N);杨氏矩阵 :一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的。代码实现:#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<assert.h>structpoint{ intx; inty;......
  • C语言学习9
    前面写float的数据类型后,输入0.0,编译器默认是double类型的变量,后加f才是floatgoto语句上述例子死循环,goto=飞雷神苦无.....但使用多了,程序出现的BUG也会增多,其次也不能跨函数跳转,如下:真正适用场景例子:预备:shutdown-s:关机,shutdown-t:定时关机,(注意空格);shutdown-a:取消关机左上角注:......
  • c语言小练习——字符串长度、拷贝、拼接、比较
    /* 使用c语言知识实现下面程序: 1,实现strlen函数的功能 2,实现strcpy函数的功能 3,实现strcat函数的功能 4,实现strcmp函数的功能 不允许使用已有的str函数*/1#define_CRT_SECURE_NO_WARNINGS2#include<stdio.h>3#include<string.h>4#include<stdbool.h>5#......
  • C语言解题||字符串左旋
    题目:实现一个函数,可以左旋字符串中的k个字符。例如:ABCD左旋1个字符得到BCDAABCD左旋2个字符得到CDAB代码实现:#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<assert.h>#include<string.h>//除第1个外,全部往前1位,然后原第1个填充至极右voidLeft_reverse(......
  • C语言“->“和“p->next“的理解
    这是对"->"的理解在c语言中,"->"是结构体指针的运算符.它允许你通过指向结构体的指针来访问结构体中的成员.例如,以下定义了一个student类的结构体,其中包含两个字符串类型的成员:"name","id",以及一个整形成员"age",可以使用如下方式访问结构体成员:structstudent{c......