본문 바로가기 메뉴 바로가기

노루의 씨분투 세상

프로필사진
  • 홈
  • 방명록
  • RSS
  • Github
  • Facebook
  • 글쓰기
  • 관리

노루의 씨분투 세상

검색하기 폼
  • 분류 전체보기 (57)
    • 인공지능 (2)
      • 통계학 (1)
      • 머신러닝 (1)
    • Javascript&Typescript (10)
      • Javascript (2)
      • Typescript (3)
      • Angular2 (4)
      • CSS (1)
    • Swift (3)
    • C, C++ (16)
      • C, C++ (12)
      • Qt Framework (3)
      • 자료구조 (1)
    • Java (0)
    • lua (1)
    • Windows (1)
    • Linux (17)
    • Mac (1)
    • Computer Science (1)
    • 오픈소스 (2)
      • Mir (2)
    • Idea (1)
    • 잡설 (2)
  • 방명록

C언어 (2)
[goto문 에러] jump to label '%LABEL%' [-fpermissive]

함수의 초기화 과정에서 종종 goto문을 사용하곤 한다. 예를 들면 열 가지 정도의 변수에 메모리를 할당 해 주는데, 다섯번째쯤 되는 변수를 처리하는 과정에서 오류가 발생했다고 가정해보자. 그럼 앞에 메모리가 할당된 네 개의 변수는 어떻게 될까? 할당해놓고 해제해 준 적이 없으니 메모리 누수상태가 된다. (Memory Leak) 그래서 변수 처리중에 에러가 발생 하면, 바로 return을 해버리는게 아니라 goto문을 이용하여 error 처리부로 이동시켜 메모리 해제해주는 작업을 거치게 된다. 윈도우에서 제공하는 try-finally 와 유사하다고 보면된다. goto문을 사용하는 간단한 예제는 다음과 같다. int Initialize() { // 이 예제에서는 CDialog라는 클래스가 있다고 가정한다...

C, C++/C, C++ 2015. 6. 23. 08:55
c언어 - 함수포인터 (Function pointer)

c언어 - 함수포인터 (Function pointer) 오늘은 함수포인터에 대해서 포스팅을 하도록 하겠습니다.포인터가 무엇인지는 다들 아실텐데요, 특정 변수에 대한 메모리 주소를 담을 수 있는 변수를 포인터 변수라고 합니다. 그렇다면 함수포인터란, 특정 함수에 대한 메모리 주소를 담을 수 있는 것 이라고 정의할 수 있겠습니다. 함수포인터를 쓰는 이유는 무엇일까요? 프로그램 코드가 간결해집니다. 함수포인터를 배열에 담아서도 사용할 수 있으므로 중복되는 코드를 줄일 수 있습니다. 상황에 따라 해당되는 함수를 호출할 수 있으므로 굉장히 유용합니다. 그 외에도 함수 포인터를 이용하여 콜백함수를 구현할 수 있게 되는 등 편리하고 유용한 코드를 작성할 수 있게 됩니다. 우선 함수포인터의 모양에 대해 알아보도록 하겠..

C, C++/C, C++ 2013. 12. 30. 03:42
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
  • [번역] 자바스크립트는 어⋯
  • [번역] 아직도 NgZone이⋯
  • [번역] Zones(zone.js)를⋯
  • [번역] Angular에서 Zones⋯
최근에 달린 댓글
  • 감사합니다 ㅎㅎ
  • 좋은 글 감사합니다. 많은 도⋯
  • 죽은지3년이 됫군;
  • stdlib,h ㅋㅋ
Total
943,650
Today
10
Yesterday
156
링크
  • Hans's trace note
  • Holy Hacker
  • strata
  • onlywis
  • hyoj
TAG
  • 타입스크립트
  • JavaScript
  • NgZone
  • 챗봇
  • 리눅스 터미널 색상
  • observable
  • Zone.js
  • typeScript
  • 안시 색상
  • Swift
  • git proxy
  • vim
  • lua table
  • 안시 컬러
  • 스위프트
  • Angular
  • terminal 색
  • git 설정
  • ECMA2015
  • ZONES
  • QT
  • ansi color
  • angular2
  • qemu linux arm
  • C언어
  • itoa
  • 우분투 16.04
  • zone
  • 폰트 조정
  • Rx.js
more
«   2022/06   »
일 월 화 수 목 금 토
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
글 보관함
  • 2018/04 (7)
  • 2018/02 (2)
  • 2018/01 (1)
  • 2017/05 (1)
  • 2017/04 (1)

Blog is powered by Tistory / Designed by Tistory