목록C/학습내용 (12)
JUST GO

값에 의한 전달 : swap 함수 포인터에 의한 전달 : swap 함수 예제 : 포인터에 의한 전달 방법으로 구현한 swap 함수 #include void swap(int* x, int* y) { // x, y는 인자의 주소이다. int temp = *x; // x가 가리키는 변수의 값을 temp에 저장한다. *x = *y; // y가 가리키는 변수의 값을 x가 가리키는 변수에 저장한다. *y = temp; // temp를 y가 가리키는 변수에 저장한다. } int main(void) { int a = 3, b = 7; printf("a = %d, b = %d\n", a, b); swap(&a, &b); // 포인터에 의한 전달 printf("a = %d, b = %d\n", a, b); return 0..
배열에 대한 포인터의 선언 및 사용 #include int main(void) { int data[3][5] = { {1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15} }; int(*p)[5] = &data[0]; // int[5] 배열에 대한 포인터 int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 5; j++) printf("%2d ", p[i][j]); // 2차원 배열인 것처럼 사용한다. // p[i][j], (*(p+i))[j], *(p[i]+j), data[i][j] 같은 결과 printf("\n"); } return 0; } /* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ int data[3][5..

배열 - 같은 데이터형의 변수를 메모리에 연속적으로 할당하고 같은 이름으로 사용하는 기능 - 배열의 원소(element) - 배열 안에 들어가는 변수 하나하나 - 개별적인 변수인 것처럼 사용 - 인덱스(index) - 배열의 각 원소를 구분하기 위한 번호 - 항상 0부터 시작한다. - 배열의 모든 원소는 항상 연속된 메모리에 할당된다. 배열의 선언 배열의 크기 - 배열의 크기는 반드시 0보다 큰 정수형 상수로 지정해야 한다. - 배열의 크기를 지정할 때 매크로 상수를 사용할 수 있다. - const 변수는 변수이므로 배열의 크기를 지정할 때 사용할 수 없다. - 배열 이름으로부터 배열의 크기(원소의 개수)를 구할 수 있다. 배열의 초기화 - { } 안에 배열 원소의 초기값을 콤마(,)로 나열한다. - 배..

함수 - 특정 기능을 제공하는 일련의 코드를 묶어서 이름을 붙인 것 - 일종의 블랙 박스 - 전달하는 인자의 의미와 호출 결과만 알면 된다. 함수의 필요성 함수를 사용할 때의 장점 - 코드가 중복되지 않으므로 간결하고 알아보기 쉽다. - 한 번 작성해둔 코드를 여러 번 사용하므로 코드의 재사용성이 높다. - 기능 위주로 함수를 작성해서 사용하므로 프로그램의 모듈화가 증대된다. - 함수 코드를 수정하더라도 함수를 호출하는 부분은 수정할 필요가 없으므로 프로그램을 유지 보수하기 쉽다. 함수의 종류 함수의 요건 - 함수의 정의(definition) : 함수가 수행할 내용을 기술 - 함수의 호출(call) : 이미 정의된 함수를 사용 - 함수의 선언(declaration) : 사용될 함수에 대한 정보를 미리 제..