일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 문법
- 지식나눔강좌
- Tips프로그래밍강좌
- tipssoft
- Desktop
- 백준
- 함수
- 프로그래밍
- Win32
- 이지스퍼블리싱
- 알고리즘
- 김성엽
- VS ERROR
- 포인터
- Tips강좌
- 티스토리
- Visual Studio
- 리뷰
- 연산자
- Windows
- Direct2D
- c
- Kotlin
- c++
- c#
- Programming
- Javascript
- 배열
- CS
- doit코틀린프로그래밍
- Yesterday
- Today
- Total
목록호출 (2)
F.R.I.D.A.Y.
이번 시간에는 함수에 인자를 넘길 때 넘기는 방식에 대해 이야기해봅니다. 시작에 앞서 이번 포스트에서는 아래 코드를 이용해 예시를 들도록 하겠습니다. #include void printA(int a){ printf("%d\n", a); } void printAbsA(int a){ printf("%d\n", a > 0 ? a : -a); } int main(void){ int a; scanf("%d", &a); printA(a); printAbsA(a); return 0; } 값을 복사해서 넘기기 : CallByValue 대표적으로 C언어가 추구하는 방식입니다. 한국어로는 값에 의한 전달 모든 파라미터는 값의 복사. 즉, 다른 공간에 같은 값을 생성해 전달합니다. 일단 전달이 이루어지면 전달하는 데이터의 ..
포인터 파트에서 함수 호출 구조에 대해 잠깐 언급한 적이 있습니다. 이 포스트에서 그 내용을 다뤄볼 것입니다. 프로세스의 구조 프로세스[# 프로세스는 운영체제의 로더에 의해 프로그램이 메모리에 올라갈 때 CPU가 실행할 수 있도록 구조를 변경하여 메모리에 올라가 있는 바이트 코드를 의미합니다.]는 Windows 기준으로 하여 아래와 같은 구조[# 정확한 구조는 아니니, 이런 식으로 구성되어 프로세스에 올라간다고만 생각하기 바랍니다. 이 스택 프레임은 플랫폼, 언어, 개발자 구현 방식에 따라 달라질 수 있습니다.]를 가지고 있습니다. 코드 세그먼트 기계어(명령어) 데이터 세그먼트 문자열 상수 목록 전역 변수 static 변수 엑스트라 세그먼트 힙(Heap) 스택(Stack) 코드 세그먼트: 코드 세그먼트에..