77monkey 개발 일지
close
프로필 배경
프로필 로고

77monkey 개발 일지

  • 분류 전체보기 (106) N
    • 개발 (86) N
      • C, C++ (29)
      • python (14) N
      • Rust (14)
      • Git, Github (9)
      • Linux (11)
      • android (1) N
    • 투자 (6)
    • 리뷰 (11)
  • 홈
[C/C++] call by value VS call by reference

[C/C++] call by value VS call by reference

[C/C++] 포인터(Pointer) 개념에 대해서 포스팅을 했었는데, 혹시 기억하시나요? 포인터를 배우면 가장 많이 헷갈리는 부분이 call by reference와 call by value 개념에 대해서 이해를 할 수 있게 됩니다. 코딩을 처음 할 때 가장 헷갈린 부분인데 해당 부분에 대해서 오늘 알아보도록 하겠습니다. 이 부분을 잘 이해해야 원하는 결과를 얻을 수 있습니다.  사전 지식caller는 함수 호출하는 함수를 의미하고, callee는 호출되는 함수를 의미합니다.아래 그림과 코드를 잘 보시면서 따라와 주시길 바랍니다. 참고로 편의상 memory를 간략하게 작성했지 실제로 그림과 같이 저장되지는 않습니다.void a_function(int a) { printf("a_function: %p\n..

  • format_list_bulleted 개발/C, C++
  • · 2024. 5. 15.
  • textsms

[C/C++] printf 함수의 모든 것

개발을 하거나 코딩 테스트를 할 때 가장 많이 하는 것은 아마 디버깅일 것이라고 생각됩니다. 한 번에 딱 원하는 코드를 작성하면 좋지만, 그렇지 않을 경우에 디버깅을 많이 하게 됩니다. 이럴  때 유용하게 사용되는 것이 printf로 출력하는 것이라고 생각됩니다. 이번 포스팅에서는 printf 함수에 대해서 알아보려고 합니다.  printf 함수printf 함수는 아래와 같은 구조로 되어 있습니다. int printf(const char * format, ...); printf 함수 형식 지정자printf 함수의 형식 지정자는 아래처럼 구성되어 있습니다.%[flags][width][.precision][length][specifier] flags왼쪽 정렬 등 출력 형태를 지정합니다.flagsdescrip..

  • format_list_bulleted 개발/C, C++
  • · 2024. 5. 15.
  • textsms
[C/C++] 포인터(Pointer) 개념

[C/C++] 포인터(Pointer) 개념

C언어에서의 꽃은 포인터라는 말을 들어보셨나요? 오늘은 포인터가 무엇인지에 대해서만 다뤄보도록 하겠습니다. 포인터라는 개념을 잘 잡게 된다면 포인터를 이용한 코드들을 이해하는데 큰 도움이 될 것이라고 생각합니다.  포인터(Pointer) 개념포인터(Pointer)란?포인터는 메모리 주소를 저장하는 변수입니다. 즉, 포인터 변수가 가지고 있는 값은 메모리 주소이고, 여기에 어떤 방법을 쓰게 되면 가지고 있는 메모리 주소가 가리키고 있는 값을 접근할 수 있습니다. 이렇게 설명하면 이해하기 어렵기에 예를 들어보도록 하겠습니다.32bit 운영체제에서는 주소 단위가 4 Byte입니다. 64bit 운영체제에서는 주소 단위가 8 Byte입니다. 아래 그림에서는 32bit 운영체제에서의 예시라서 말씀드리게 되었습니다...

  • format_list_bulleted 개발/C, C++
  • · 2024. 5. 13.
  • textsms

[C/C++] inline 함수

지난 시간에 함수에 대해서 배웠습니다. 이번에는 inline 함수에 대해서 배워보도록 하겠습니다. inline 함수라는 이름에서 알 수 있듯이 함수를 in + line 하겠다는 느낌이 오지 않으신가요? 그럼 inline 함수에 대해서 알아보도록 하겠습니다.  inline 함수inline 함수는 함수 호출의 오버헤드를 줄이기 위해 컴파일러에 의해 해당 함수의 코드를 호출하는 곳에 직접 삽입되는 함수입니다. 호출되는 함수의 코드가 복사되어서 함수를 호출하는 곳으로 복사가 된다고 생각하시면 됩니다. 이렇게 되면 함수를 호출하기 위해서 시스템 내부적으로 동작되는 부분이 사라지고 바로 코드가 실행되기 때문에 실행 속도가 향상됩니다.  inline 함수 예시지난 포스팅에서 선언한 예시를 가져왔습니다. 다른 점이 하..

  • format_list_bulleted 개발/C, C++
  • · 2024. 5. 2.
  • textsms

[C/C++] 함수(function)

지금까지는 main 함수에서 모든 코드를 작성하여 코드를 작성했습니다. 이제는 main 함수가 아닌 다른 함수들을 만들어 보려고 합니다. main 함수를 통해서 대략적인 구조는 아셨을 텐데 조금 더 구체적으로 알아보도록 하겠습니다.   함수 정의함수를 정의하는 방법은 간단합니다. 먼저 해당 함수가 reutrn 하는 타입을 작성합니다. 그리고 해당 함수에서 원하는 동작을 함수 이름으로 작성합니다. 마지막으로 해당 함수를 부를 때 필요한 매개변수를 작성합니다. 그리고 중괄호를 작성해야 함수의 기본 뼈대가 완성됩니다.ruturn_타입 함수_이름(함수_매개변수) { //코드} 함수 정의 예시간단하게 정수 2개를 입력받아 더하는 함수를 만들어 봅시다. 가장 먼저 해당 함수의 이름을 무엇으로 할까 고민을 해봐야할 ..

  • format_list_bulleted 개발/C, C++
  • · 2024. 5. 2.
  • textsms

[C/C++] 캐스팅 연산자

개발을 하다 보면 캐스팅 연산자를 사용할 때가 생각보다 많습니다. 함수 호출을 하기 위해서 인자 값으로 값을 줄 때 캐스팅을 해서 주는 경우도 자주 있습니다. 캐스팅 연산자에 대해서 알아보도록 합시다. 캐스팅 연산자 캐스팅 연산자는 데이터 형식을 다른 데이터 형식으로 변환하는 데 사용됩니다. 캐스팅 연산자에는 2가지가 있는데 바로 명시적 캐스팅과 암시적 캐스팅입니다. 명시적 캐스팅 명시적 캐스팅은 명시적으로 데이터 형식을 변환하고자 할 때 사용됩니다. 명시적으로 타입을 변환하는 것이기 때문에 개발자가 인지하고 있습니다. (데이터 타입)변수 아래는 간단한 코드인데, 사칙연산 등을 할 때에는 타입을 맞춰주는 것이 좋습니다. 그렇지 않으면 의도한 결과가 나오지 않을 수 있기 때문입니다. #include int..

  • format_list_bulleted 개발/C, C++
  • · 2023. 9. 17.
  • textsms
  • navigate_before
  • 1
  • 2
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (106) N
    • 개발 (86) N
      • C, C++ (29)
      • python (14) N
      • Rust (14)
      • Git, Github (9)
      • Linux (11)
      • android (1) N
    • 투자 (6)
    • 리뷰 (11)
최근 글
인기 글
최근 댓글
태그
  • #Git
  • #C
  • #배열
  • #C언어
  • #C++
  • #Rust 언어
  • #파이썬
  • #러스트
  • #Python
  • #rust
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바