![[C05] C언어/자료구조_구조체(기본, 별칭, 익명 구조체)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fc5SlBb%2Fbtrb9Ha6DpE%2FAAAAAAAAAAAAAAAAAAAAAJ40lQJ5nt7duKWaALPifZoARo5IkfHuTsrsgXF1jZPq%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DjPKiiBX9YTUbPc3Fg2ctCTlKm9U%253D)
구조체 📌 여러 개의 멤버들을 모아서 하나의 새로운 자료형을 만드는 개념 📌 구조체 변수의 멤버에 접근할 때는 구조체 변수명.멤버병 형식으로 접근한다. 📌 ex) struct Data d; d.data1 = 10; 📌 기본 구조체 정의하는 방법: struct 구조체이름 { 멤버; }; ⭐ Code [구조체 정의] #include // 기본 구조체 struct Data { int data1; int data2; }; // 별칭을 이용한 구조체 정의 // 별칭을 이용한 구조체를 사용하면 구조체 이름, 별칭 모두 사용 가능 typedef struct Data1 { int data1; int data2; }Da; // 익명 구조체 정의 // 익명 구조체를 사용하면 구조체 이름으로 변수 선언 x, 별칭만 사용 가..
![[C04] C언어/자료구조_재귀](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FU1NXO%2FbtrceaK5JNy%2FAAAAAAAAAAAAAAAAAAAAAAMJ2HTbG0j_sRvyWcE1eMYViNZ61IhZegfZr20bvrNH%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DvDbUuznIIOZyyWAMW1SVegQRPtE%253D)
재귀 함수 📌재귀 : 원래의 자리로 되돌아가거나 되돌아옴. 반복, 되풀이 📌재귀 함수 : 함수 내에서 자기 자신을 다시 호출하는 함수 ⭐ Code [재귀함수의 탈출 조건] #include void Recursive(int n) { if (n == 0) return; //특정 값 반환X, 해당 함수 종료 역할 printf("Recursive Function!!\n"); Recursive(n-1); } int main() { Recursive(3); return 0; } ⭐ Code [1부터 n까지의 합] #include int Func(int n) { if (n == 1) return 1; else return n + Func(n-1); } int main() { int num; printf("입력 : "..
![[C03] C언어/자료구조_변수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FBChNU%2Fbtrcb8GL9qk%2FAAAAAAAAAAAAAAAAAAAAAPt3tqgcq-7Za9zBueqWI_AQvrO6ZkhZUyTdve5KCK_r%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DMbkCAi9S7SJw3TgqSo3Z%252FK5crt8%253D)
변수의 범위 📌지역 변수 : '블록' 내부에서 선언된 변수로, 블록 내부에서만 유효하고 블록이 끝나면 해제 📌전역 변수 : 함수 외부에서 선언된 변수로, 프로그램이 종료될 때 해제 📌정적 변수 : 지역 변수와 전역 변수의 특성을 모두 가지고 있음 Code Data (전역 변수, 정적 변수) Heap Stack (지역 변수) ⭐ Code #include void Func() { int n1 = 3; static int n2 = 3; printf("n1 : %d\nn2 : %d\n", n1, n2); n1++; n2++; } int main() { //int num = 5; //int num2 = 7; //{ //int num = 3; //printf("num = %d\n", num); //printf("n..