목록혼공7기 (3)
Scientia Conditorium
[기본 미션] - 포인터의 핵심 내용을 정리하고 공유하기 포인터(Pointer) : 주소를 저장하기 위한 변수형 → 변수인데 속에 담긴 내용은 메모리 주소 즉, 메모리 주소를 저장하는 변수 포인터는 어떤 변수에 저장된 값에 직접적으로 접근하는 것이 아니라 주소를 이용해서 간적접으로 접근하는 방식이다. 포인터의 핵심이라고 하면 메모리 주소와 변수이다. 포인터의 용도 설명 1. 큰 데이터를 매개변수로 사용할 때 const 배열에 오소가 10만개 있다고 하면, 매개변수 복사하느라 메모리와 시간 낭비. 포인터로 첫 번째 요소의 주소만 전달하면 모든게 해결 2. 반환 값이 둘 이상일 때 min, max 코드 참조 포인터로 함수 안에서 원본을 직접 변경하는 반환이랑 마찬가지 3. 동적 메모리 할당 함수의 범위에 상..
[기본 미션] - 직접 정리한 키워드 공유하기 [배열(array)] 동일한 자료형을 여럿 담을 수 있는 자료 구조 배열 안에 있는 각 데이터를 요소(element)라고 부름 몇 개의 데이터를 담을지 결정한 뒤에는 그 수를 바꿀 수 없음(단, 내용 변경은 가능) [배열의 색인] 대부분의 프로그래밍 언어에서 배열의 색인은 0부터 시작 -> 첫 번째 = 0, 두 번째 = 1 그 이유는 메모리 때문. 첫 번째 요소(시작)로부터 오프셋(offset) 얼마만큼 떨어져 있는지를 판단 C#과 달리 new를 반드시 사용할 필요가 없음 배열에 접근하는 법은 C#과 동일 모든 기본 자료형 변수(char, int, float)를 new 없이 사용할 수 있었던 이유는 바로 스택 메모리에 할당됐기 때문 기본 자료형을 함수 매개변..
[기본 미션] - 함수의 유형을 정리하여 공유하기 반환형 함수명(매개변수1, 매개변수2, ...) { // 함수 실행 코드 // 반환형에 따른 반환값 } 기본적인 함수의 형태는 위와 같다. 반드시 적어줘야 하는 것은 반환형과 함수명이다. C언어에서 함수는 기본적으로 모두 전역(global) 함수이다. 따라서 어디에서든 접근/호출이 가능하다. 물론 이걸 제한할 수 있는 키워드가 있긴 하다. C언어에서 사람들이 실수하는 부분 중 하나는 함수 오버로딩이 없다는 것이다. 보통 C/C++을 같이 사용하기 때문에 신경을 쓰지 않는다. void print(int score) { printf("Score : %d\n", score); } void print(float gpa) /* 컴파일 오류 */ { printf("..