본문 바로가기

환영합니다~45

배열과 포인터 * 배열이란? - 배열은 연관성 있는 자료를 한가지 자료형으로 연결시킨 것이라 할 수 있다. 위의 배열 변수 선언문은 int형 변수 10개를 array란 이름으로 묶은 것이다. 위의 array 배열은 메모리에 연속해서 아래 그림과 같이 공간을 할당받는다. int의 크기인 4 byte 크기로 연속하여 주소를 할당받는 것이다.그리고 크기가 10인 위의 array배열과 같은 경우에는 색인(index 또는 배열 번호)이 0부터 9까지 할당된다.각 색인으로 배열의 값에 직접 접근할 수 있다.예) array[0] = 10; // array의 0번 자료에 10을 대입함. * 배열의 초기화배열을 초기화 할때는 숫자 자료형 배열일 경우에는int array[10] = {10, 20, 30, 40, 50, 60, 70, 8.. 2013. 4. 1.
다수의 파일로 나누어 작업하기(header file 만들기) #include void AA(float); int main() { AA(3.14f); return 0; } void AA(float fNum) { printf("fNum : %f\n", fNum); } 위의 코드를 함수 별로 나누어 저장하면 main()함수와 AA()함수를 각각의 .c파일에 따로 저장하고이를 공통으로 include 해주는 헤더파일 .h를 만들어주면 된다.그리고 헤더파일에는 함수의 정의부분을 선언해주면 된다. 이렇게 나누어진 파일은 cl /c @@@.c 형태로 분할 컴파일 해준 후cl ***.obj ###.obj 형식으로 링크해주면 하나의 실행파일을 만들 수 있다. 위에서 cl /c 파일명.c 형태의 분할 컴파일은 아래 그림의 ①②③단계에 해당한다.전처리 과정에서 헤더를 포함시키고 그것을.. 2013. 3. 26.
프로세스의 메모리 영역 32비트 시스템에서 프로세스(실행 중인 프로그램) 생성시 4GB의 메모리를 할당받을 수 있는데,이는 램만으로는 충당하기엔 턱없이 부족하다.그래서 운영체제는 램과 하드디스크를 하나로 묶어 가상 메모리로 관리한다.대부분의 시스템에서는 주로 페이징(Paging)이라는 기법으로 가상 메모리를 관리한다.페이징 기법은 아직 모르므로-_-; 가상메모리의 영역에 대해서만 이야기해보자. 가상 메모리는 프로세스당 아래와 같은 구조를 가지는데,모두 5대영역으로 나뉜다. 아래 그림과 같이 데이터를 분류하여 각 영역에 저장하는 것이다. 위의 메모리 영역은 크게 두가지로 나눌 수 있는데 컴파일시 크기가 고정되는 code, data, bss 영역과 실행시 메모리가 할당되었다 반납되는 heap, stack영역으로 나눌 수 있다. ①.. 2013. 3. 26.
C언어 함수(function)의 기초 (함수의 구성, 정의, 호출) 함수(function)란? - 함수란 영어 function에서 온 말인데 이 뜻은 "기능"을 뜻한다. 즉, 기능을 구현하는 부분을 따로 떼어 구현하는 것으로, 구조화 프로그램의 중요한 개념이라 하겠다. 함수의 기본 형태 함수의 형태는 우선 우리에게 친숙한 main 함수를 예로 들어보겠다. 함수는 윗 그림과 같이 반환 자료형과 함수이름, 인수목록으로 나뉜다. 반환 자료형이란 메인함수의 사용에서 return 0; 부분을 보면 0을 반환한다는 말인데 정수형을 반환하므로 여기서 int로 쓰였다. 그리고 함수 이름은 main 함수의 경우 프로그램 실행시 가장 먼저 실행되는 부분이므로꼭 필요한 함수로 변경할 수 없지만 사용자 정의 함수의 경우에는 일반적인 명명규칙에 따라 사용자가 지정해줄 수 있다. 인수 목록은 m.. 2013. 3. 26.