[C언어] 구조체란 무엇인가.
프로그래머라면, 구조체라는 말을 굉장히 많이 들어보았을것이다. 그렇다면 이 구조체란 무엇인가? 구조체는 구조화된 데이터를 처리할 때 만들어서 사용하고, 다른 자료형을 배열처럼 하나의 묶음으로 묶어서 사용할 수 있도록 해주는 기능이다. 쉽게 말하자면, 김밥이다. 어묵, 단무지, 김, 밥 등 각자의 재료를 따로 모아놓은게 배열이라면, 구조체는 이 모든것들을 모아놓은 김밥 같은 것이다. 예제는 아래와 같다. #include struct kimbap { char danmuji[10]; int ham; float eumok; double kim; }; typedef struct kimbap kimbap; int main(void) { kimbap a = { "hihihi", 5, 3.1, 100000.3 }; p..
2021. 1. 19.
[C언어] 배열포인터와 포인터배열의 차이
코딩을 하다보면 가끔씩 포인터를 쓸 일이 있다. 그런데 항상 배열포인터와 포인터배열을 헷갈린다. 배열포인터 : Pointer To Array 배열을 가리키는 포인터 포인터배열 : Array Of Pointer 포인터들의 배열 우선 각각의 사용법을 알아보겠다. 1차원 배열 2차원 배열 (배열포인터) 2차원 배열 (포인터배열) int arr[3] = {1, 2, 3, 4, 5}; int *ptr = arr; int arr[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int (*ptr)[3] = arr; int arr[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int *ptr[3] = arr; 알다시피 1차원 배열은 헷갈리지 않고 선언 할 수 있다. 하지만 배열포인..
2021. 1. 16.