C언어 (15) 구조체와 공용체 새로운 자료 구조인 구조체와 공용체, 열거형까지 알아보자. 구조체 배열이 타입이 같은 데이터를 하나로 묶는다면 구조체는 타입이 다른 데이터도 묶을 수 있다. 학생의 정보를 저장한다고 할 때 이름, 나이, 점수를 하나로 묶어 저장할 수 있으면 편할 것이다. 이런 여러개의 변수를 그룹화하여 새로운 자료형으로 만...
C언어 (14-2) 함수와 포인터 ex
C언어 (14-2) 함수와 포인터 ex 책에는 있는데 알면 좋고 중요한 것도 맞긴 한데 이해하기 어렵기도 하고 C언어를 배우는 과정에서 꼭 알아야하는 건 아닌 것 같아서 간단히 정리만 했다. main() 함수에 인자를 넣을 수 있다? 여태까지 본 main() 함수는 인자가 없는 main(void) 형태였다. 그런데 다른 형태의 main()함수...
함수는 어떻게 저장되는가?
함수는 어떻게 저장되는가? 함수 포인터를 알아보다 작은 궁금증이 생겨서 찾아보고 정리해봤다. 다시 생각하보니 간단한 것이었는데 알아보면서 재밌었으니까~ 함수는 어떻게 메모리에 저장되는가? 함수의 포인터는 함수의 원형과 거의 비슷하게 생겼다. int (*pointer) (int, int) 변수의 포인터는 int*, double* 등으로 참조하...
C언어 (14) 함수와 포인터
C언어 (14) 함수와 포인터 여태까지 배운 것을 합쳐서 함수에서 어떻게 포인터를 활용하는지 알아보자. call by value vs call by reference 값에 의한 호출(call by value)은 변수의 값을 복사해서 함수를 호출하는 방식이다. #include <stdio.h> int func(int n); int m...
C언어 (13) 함수2
C언어 (13) 함수2 함수의 선언 방법을 알아보았고, 어떻게 사용하는지 좀 더 알아보자. 또 변수의 선언 위치에 따른 차이점과 종류를 알아보자. 변수의 종류와 범위 변수는 선언되는 위치나 종류에 따라 메모리 상에 존재하는 기간이 다르다. 지역 변수 전역 변수 정적 변수 외부 변수 레지스터 변수 이렇게 5가지로 나눌 수...
C언어 (12) 함수
C언어 (12) 함수 책을 보면 함수를 간단하게 소개하고, 그 다음이 배열, 포인터 순서로 하는 것이 대부분이다. 하지만 포인터, 포인터-배열 관계, 함수, 포인터-함수 관계로 잇고 싶어서 순서를 조금 꼬았다. 흐름만 이해하면 함수는 쉽게 이해하는 것 같다. 함수 수학에서 함수란 어떤 x를 넣었을 때 y라는 값을 내는 f(x)같은 것이다....
C언어 (11) 포인터와 배열2
C언어 (11) 포인터와 배열2 포인터와 배열의 관계를 이어서 더 보자. 포인터 변수를 통한 1차원 배열 접근 배열의 이름은 배열의 시작 주소와 같다고 했다. 그리고 배열의 주소에 +1, +2를 하면 주소는 배열의 요소 크기만큼 증가한다. #include <stdio.h> int main() { int arr[5] = { 1...
C언어 (10) 포인터와 배열
C언어 (10) 포인터와 배열 포인터에 대해 간단히 보았는데, 활용에 대해서는 아직 잘 모르겠다. 포인터의 특성을 좀 더 보고, 배열과 연관지어 보며 어떻게 사용하는지 알아보자. 다중 포인터 int** ppnum; 이런 포인터는 존재할 수 있을까? 포인터 변수도 주소를 가지고, 8바이트 또는 4바이트의 크기를 가진 변수이다. 그렇다면 포인터...
C언어 (9) 포인터
C언어 (9) 포인터 C언어에서 가장 중요하고 이해하기 어려운 개념으로 꼽히는 것이 포인터일 것이다. 변수와 배열 이야기를 하며 계속 주소를 언급했는데, 이 주소를 어떻게 쓸 수 있는가?에 대한 이야기다. 중학생 때 처음 C언어를 학원에서 배웠었는데 포인터는 어려우니까 넘어가자~라고 말했었다. 지금 생각해보면 이해가 안되는 말인 것이 포인터...
C언어 (8) 배열
C언어 (8) 배열 학교의 모든 학생의 성적을 변수에 저장하고 싶은데 각각 변수를 생성하면 변수의 개수가 너무 많아진다. 이 때 같은 자료형을 가진 변수를 묶어 배열이라는 자료구조로 처리할 수 있다. 배열 변수란 우리가 프로그램을 작성할 때 숫자나 문자 같은 데이터를 저장하기 위한 공간이다. 변수는 저장되는 주소가 있고, 공간이 있다. 배...