ft_calloc - chanhl22/libft GitHub Wiki

  1 /* ************************************************************************** */
  2 /*                                                                            */
  3 /*                                                        :::      ::::::::   */
  4 /*   ft_calloc.c                                        :+:      :+:    :+:   */
  5 /*                                                    +:+ +:+         +:+     */
  6 /*   By: chanhlee <[email protected].>       +#+  +:+       +#+        */
  7 /*                                                +#+#+#+#+#+   +#+           */
  8 /*   Created: 2021/01/21 17:11:50 by chanhlee          #+#    #+#             */
  9 /*   Updated: 2021/02/02 09:59:12 by chanhlee         ###   ########.fr       */
 10 /*                                                                            */
 11 /* ************************************************************************** */
 12 
 13 #include "libft.h"
 14 
 15 void    *ft_calloc(size_t count, size_t size)
 16 {
 17     void *ptr; //ํฌ์ธํ„ฐ ๋ณ€์ˆ˜ ์„ ์–ธ (๋ฆฌํ„ด๊ฐ’์ด voidํ˜•์ด๋ผ์„œ void๋กœ ์„ ์–ธ)
 18 
 19     if(!(ptr = (void*)malloc(size * count))) //๋™์  ํ• ๋‹น, sizeํฌ๊ธฐ์˜ ๋ณ€์ˆ˜๋ฅผ count๊ฐœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„ ํ• ๋‹น, 
ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์‹œ์ž‘์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ๋ฐ˜ํ™˜๋˜๋Š” ๊ฐ’์€ NULL์ด๋‹ค.
 20         return (NULL);
 21     ft_bzero(ptr, size * count); //0์œผ๋กœ ์ฑ„์›Œ์ฃผ๋Š” bzeroํ•จ์ˆ˜ ์‚ฌ์šฉ, bzero๋กœ ๋„˜๊ธธ ๋•Œ ๋‹จ์œ„ ํ•˜๋‚˜๋‹น byteํฌ๊ธฐ์™€ count ๋‹จ์œ„ ๊ฐœ์ˆ˜๋ฅผ ๊ณฑํ•ด์„œ ๋„˜๊ฒจ์•ผํ•จ                                                         
 22     return (ptr);
 23 }