coding일지

coding일지

  • 분류 전체보기 (170)
    • C++ (15)
    • C언어 (8)
    • JAVA언어 (28)
      • 객체지향 (1)
      • SOILD (0)
      • Spring (5)
    • GIT (2)
    • TIL_WIL (72)
    • TOY_PROJECT (4)
    • JAVASCRIPT (4)
    • 프로그래머스 (1)
    • 이력서 스터디 (3)
    • 컴퓨터과학 (1)
      • 자료구조 (1)
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

coding일지

컨텐츠 검색

태그

최근글

댓글

공지사항

아카이브

C언어(8)

  • NULL GUARD? 예외처리!

    42에서 불리는 NULL GUARD라는 것이 있다. 이는 NULL이 발생할 상황을 예외처리 해주는 것이다. char *str; // 초기화되지 않은 포인터 if (str == NULL) { //포인터가 NULL을 가리킴 } 이와 같이 초기화하지 않은 포인터는 'NULL'을 가리킨다. if (!(str = (char *)buf)) return (NULL); 이 조건은 str에 (char *)buf의 값을 대입한 후에 str이 NULL인지를 확인한다. 즉, str에 (char *)buf의 값을 대입했을 때 실패하면(즉, str이 NULL인 경우) 조건은 참이 됩니다. 이렇게 예상치 못한 경우에 NULL이 발생할 수 있는 상황을 예외처리 해준다.

    2024.02.27
  • 배열과 포인터

    C언어에서 배열과 포인터는 많은 경우에 호환된다. 특히 함수의 매개변수로 배열이나 포인터를 전달할 때는 호환성이 있어서 배열을 포인터로 전달할 수 있다. 이것은 C언어에서 배열 이름은 해당 배열의 첫 번째 요소를 가리키는 포인터로 해석되기 때문이다. 따라서 함수에서 'char *' 타입의 매개변수를 요구하는 경우에는 실제로 배열을 넘겨도 문제가 발생하지 않는다.

    2024.02.27
이전
1 2
다음
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바