본문 바로가기

C6

[C] 스택 메모리, 매개변수 배열 본 내용은 POCU COMP2200: C 언매니지드 프로그래밍 강의를 토대로 작성하였습니다. 스택(stack) 메모리 우선 자료구조인 스택이랑 헷갈리지 말 것 둘 다 작동방법이 동일해서(LIFO) 스택이란 이름을 쓸 뿐 각 함수에서 사용하는 지역 변수 등을 임시적으로 저장하는 공간 스택 메모리의 크기는 프로그램 빌드 시에 결정됨 스택 메모리의 위치는 실행 시에 결정됨 기본 자료형 변수는 스택 메모리를 차지! 여태까지 모든 기본 자료형 변수(char, int, float)를 new 없이 사용할 수 있었던 이유가 바로 스택 메모리에 할당됐기 때문 기본 자료형을 함수 매개변수로 전달하면 스택에 복사본을 만듦 -> 이게 바로 값형 스택 메모리를 빌리고 반환할 때마다 언제나 빈 공간 없이 차곡차곡 쌓여 있음 ne.. 2022. 2. 27.
[C] 연산자 우선순위와 평가 순서 , 범위(scope), const 본 내용은 POCU COMP2200: C 언매니지드 프로그래밍 강의를 토대로 작성하였습니다. 평가 순서를 강제하는 연산자 &&, || 등은 시퀀스 포인트임 즉, 시퀀스 포인트 앞에 것을 먼저 평가해야 한다 왼쪽부터 오른쪽으로 또 다른 예 범위(scope) 총 4가지의 범위가 있다 블록 범위 파일 범위 함수 범위 함수 선언 범위 블록 범위 이미 아는 내용 중괄호({}) 안에 선언한 것들은 그 블록 안에서만 사용 가능 블록 안에 또 다른 블록을 넣을 수도 있다 그러면 안쪽 블록은 바깥 블록에 접근 가능 그 반대는 안됨 파일 범위 어떤 블록이나 매개변수 목록에도 안 속하고 파일 안에 있는 것 파일 범위에 있는 변수의 메모리 위치 함수 범위 유일한 예 : 레이블(label) goto 같은 데서 쓰는 것 함수 안.. 2022. 2. 26.
[컴퓨터의 작동 원리] 컴퓨터 메모리의 기본 구조 본 내용은 홍정모의 따라하며 배우는 C언어 강의를 토대로 작성하였습니다. 현대적 컴퓨터의 기본 구조 컴퓨터 메모리의 기본 구조 CPU는 메모리와 함께 일을 한다 연산은 CPU에서 하고, 정보를 저장 하는 것은 메모리에서 한다 메모리에 중요한 내용들이 저장되어 있다가 CPU가 필요한 것들을 가져다가 하나하나 연산을 하고 연산 결과를 다시 메모리에 돌려준다. 그리고 메모리에 저장을 한다. 메모리에서 정보를 CPU로 보낼 때 자주 보내는 것들이 있음. 이 때 매번 새롭게 보내면 느려질 수 있어서, 혹은 이 절차를 더 빠르게 만들기 위해 캐쉬 메모리를 중간에 넣음 메모리에 있는걸 캐쉬로 보내고 자주 쓰이는 것은 캐쉬에 계속 남겨두는 역할 그럼 CPU가 자주 가져오는 것은 캐쉬 메모리에서 가져오니까 더 빠르게 가.. 2022. 2. 16.
[C] #include,stdio.h, C 기본 문법 본 내용은 POCU COMP2200: C 언매니지드 프로그래밍 강의를 토대로 작성하였습니다. #include C# C using System; #include C#에서 using 지시문(directive)과 비슷한 일을 함 다른 파일에 구현된 함수나 변수를 사용할 수 있게 해 줌 다만, C# 처럼 똑똑하게 알아서 함수나 변수를 찾아주지는 않음 사실 #include는 전처리기 지시문 중 하나 전처리기(preprocessor)란? 컴파일을 하기 전에 텍스트를 '복붙'해주는 일을 함 #include는 파일 열어서 텍스트 복사해서 붙여넣는 것임 #include C 표준 라이브러리 (C Standard Library, libc) 중 일부 C 표준 라이브러리란? 다음에 필요한 매크로, 자료형(data type), .. 2022. 2. 14.
[컴퓨터의 작동 원리] 컴퓨터를 켤 때 일어나는 일들 / 운영체제가 해주는 일들 본 내용은 홍정모의 따라하며 배우는 C언어 강의를 토대로 작성하였습니다. 컴퓨터를 켤 때 일어나는 일들 CPU는 일, 계산을 하는 부분이고 메모리는 저장을 해놓는 기능이다. CPU가 운영체제를 실행시키고 싶을 때 어떻게 하는가? CPU는 보조기억장치를 직접 접근할 수 없음. CPU는 주 기억장치하고만 일을 함 보조기억장치 안에 있는 운영체제 프로그램을 주기억장치로 복사를 한 후 일을 한다. 운영체제(Operating System)가 해주는 일들 시스템 프로그램: 컴퓨터의 시스템에 대해 작동하지만 운영체제의 핵심이라 보기 어려운 것들( ex. 바탕화면 색 바꾸기 응용 프로그램 ex. 포토샵, 웹 브라우저, 게임 등 운영체제에서 가장 중요한 핵심: 응용 프로그램과 하드웨어를 중개 해준다. 리소스의 자원을 관.. 2022. 1. 21.
[컴퓨터의 작동 원리] 컴퓨터의 구성 요소들 본 내용은 홍정모의 따라하며 배우는 C언어 강의를 토대로 작성하였습니다. 컴퓨터는 하드웨어/ 소프트웨어로 나뉨 하드웨어(Hardware): 손으로 만질 수 있는 부분 소프트웨어(Software): 순수한 정보 컴퓨터의 구성 요소 중앙처리장치(CPU : Central Processing Unit) 컴퓨터의 모든 연산 담당 주 기억장치 - 메모리(Primary Storage - Computer Memory) 전원을 끄면 데이터가 사라짐(그래서 보조 기억장치가 필요) 대신 속도가 빠름 Random-Access Memory (RAM) : 임의 접근이 가능한 메모리 그래픽 카드(Graphics Card) 그래픽 카드 안에 GPU(Graphics Processing Unit) 있음. Graphics 안에 들어있는 .. 2022. 1. 21.