C의 선언

기본적인 선언

2. 기본적인 선언

컴파일러를 만들려는 우리인 만큼 C에서 변수 및 함수를 정의하는 형태는 모두 알고 있을 것이라고 생각한다.아래 예제를 올바르게 이해하고 활용할 수 있는 정도라면 된다.

01_c_declarations.cpp

#include <iostream>

using namespace std;

// 함수의 선언

int sum(int a, int b);

int mul(int a, int b);

int main(void) {

// int형 변수의 선언과 사용

int int_var;

int_var = 10;

cout << "변수: " << int_var << endl;

// int형 변수의 배열의 선언과 사용

int int_arr[3];

int_arr[0] = 5, int_arr[1] = 2, int_arr[2] = 3;

cout << "배열: ";

for (int i = 0; i < 3; ++i)

cout << int_arr[i] << ' ';

cout << endl;

// int형 포인터 변수의 선언과 사용

int *int_ptr;

int_ptr = &int_var;

*int_ptr = 20;

cout << "포인터: " << *int_ptr << endl;

// int형 변수의 2차원 배열의 선언과 사용

int int_arr2d[2][3] = { // 2행 3열의 행렬로 생각하면 편하다

{ 1, 2, 3 },

{ 4, 5, 6 }

};

cout << "2차원 배열: " << endl;

for (int r = 0; r < 2; ++r){

for (int c = 0; c < 3; ++c) {

cout << int_arr2d[r][c] << ' ';

}

cout << endl;

}

// int형 포인터 변수에 대한 포인터 변수

// 즉 int형 더블 포인터의 선언과 사용

int **dptr = &int_ptr;

**dptr = 30;

cout << "더블 포인터: " << **dptr << endl;

// int형 변수 두 개를 인자로 받고

// int형 값을 반환하는 함수에 대한 포인터 선언

int(*fptr)(int, int);

fptr = sum;

cout << "fptr = sum; fptr(3, 5): " << fptr(3, 5) << endl;

fptr = mul;

cout << "fptr = mul; fptr(3, 5): " << fptr(3, 5) << endl;

return 0;

}

int sum(int a, int b) { return a + b; }

int mul(int a, int b) { return a * b; }

필자가 공부했던 책에서는 포인터의 배열과 배열에 대한 포인터와 같은 내용도 가르쳤으나이에 대해서는 바로 다음에 프로그래밍 언어의 선언 방식을 설명하면 이해할 수 있는 내용이므로 먼저 알고 있을 필요는 없다.

댓글

댓글 본문
작성자
비밀번호
graphittie 자세히 보기