[C06] C언어/자료구조_동적 할당(malloc, free)
C언어_자료구조/C언어 기본 개념2021. 9. 14. 18:00[C06] C언어/자료구조_동적 할당(malloc, free)

포인터와 배열의 관계 📌 포인터와 배열은 밀접한 관계를 갖고 있으나, 분명한 차이점이 있다. 📌 배열은 선언하게 되면 기본적으로 배열 자기 자신의 시작 주소를 갖고 있다. #include int main() { char str[100]; printf("str의 주소 : %p\n", &str); printf("str의 값 : %p\n", str); printf("입력 : "); scanf("&s", str); printf("출력 : %s\n", str); return 0; } #include int main() { char str1[10] = "Hello"; char* str2 = "Abcde"; /*printf("atr1 : %s\n", str1); printf("str1 : %s\n", str2);*/..

[C05] C언어/자료구조_구조체(기본, 별칭, 익명 구조체)
C언어_자료구조/C언어 기본 개념2021. 9. 7. 18:00[C05] C언어/자료구조_구조체(기본, 별칭, 익명 구조체)

구조체 📌 여러 개의 멤버들을 모아서 하나의 새로운 자료형을 만드는 개념 📌 구조체 변수의 멤버에 접근할 때는 구조체 변수명.멤버병 형식으로 접근한다. 📌 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언어/자료구조_재귀
C언어_자료구조/C언어 기본 개념2021. 8. 31. 18:00[C04] C언어/자료구조_재귀

재귀 함수 📌재귀 : 원래의 자리로 되돌아가거나 되돌아옴. 반복, 되풀이 📌재귀 함수 : 함수 내에서 자기 자신을 다시 호출하는 함수 ⭐ 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언어/자료구조_변수
C언어_자료구조/C언어 기본 개념2021. 8. 24. 18:00[C03] C언어/자료구조_변수

변수의 범위 📌지역 변수 : '블록' 내부에서 선언된 변수로, 블록 내부에서만 유효하고 블록이 끝나면 해제 📌전역 변수 : 함수 외부에서 선언된 변수로, 프로그램이 종료될 때 해제 📌정적 변수 : 지역 변수와 전역 변수의 특성을 모두 가지고 있음 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..

[C02] C언어/자료구조_반환값에 따른 함수의 여러가지 형태
C언어_자료구조/C언어 기본 개념2021. 8. 17. 18:00[C02] C언어/자료구조_반환값에 따른 함수의 여러가지 형태

⭐ Code [반환값이 존재하는 함수와 반환값이 존재하지 않는 함수] #include int Add(int n1, int n2) { return n1 + n2; } void Add2(int n1, int n2) { printf("연산 결과 : %d", n1 + n2); } int main() { //반환값을 저장할 변수 = 함수이름(인수) int result = Add(11, 22); printf("연산 결과 : %d\n", result); Add2(11, 22); return 0; } ⭐ Code [반환값이 존재하는 함수와 반환값이 존재하지 않는 함수로 구성된 사칙연산 코드] #include void Add(int a, int b) { printf("더한 값 : %d\n", a + b); } void ..

[C01] C언어/자료구조_포인터 기본 개념
C언어_자료구조/C언어 기본 개념2021. 8. 11. 23:43[C01] C언어/자료구조_포인터 기본 개념

포인터(pointer) 📌 포인터 변수는 주소를 저장해주는 변수 📌 포인터 변수 선언 방법 : 저장할 공간의 자료형 *(애스타리스크) 변수명; 📌 포인터 변수 안에 저장된 주소로 접근해서 주소 안의 값을 확인할 때는 📌 *포인터변수 형식으로 확인할 수 있다. 이를 역참조라 부른다. 📌 *(애스타리스크)는 포인터를 따라가라는 뜻 : *ptr (역참조) 📌 선언할 때 사용하는 *는 역참조 시 사용하는 *와 용도가 다름 (int * 자체가 하나의 자료형) 📌포인터 변수는 일반 변수의 주소를 저장할 수 있고, 📌이중 포인터 변수는 포인터 변수의 주소를 저장할 수 있고, 📌삼중 포인터 변수는 이중 포인터의 주소를 저장할 수 있고, 📌사중 포인터 변수는 삼중 포인터의 주소를 저장할 수 있고, 📌... ⭐code #..

728x90
반응형
LIST
image