본문 바로가기
728x90

전체 글389

[C언어][초급] Chapter52. 포인터와 배열 – 배열의 시작 주소와 포인터의 관계 포인터와 배열은 C언어에서 서로 밀접한 관계가 있습니다.사실 배열의 이름 자체가 곧 포인터처럼 동작하기 때문입니다.이번 글에서는 배열과 포인터가 어떻게 연결되어 있는지를 설명하고, 직접 다뤄보는 예제를 통해 이해해보겠습니다.● 배열 이름은 첫 번째 요소의 주소int arr[5] = {1, 2, 3, 4, 5};printf("%p\n", arr); // 배열의 시작 주소printf("%p\n", &arr[0]); // arr[0]의 주소두 출력 결과는 동일합니다. 배열 이름은 첫 번째 요소의 주소와 같습니다.● 배열과 포인터의 관계int *p = arr;이 코드는 arr[0]의 주소를 포인터 p에 저장하는 것과 동일합니다.즉, p는 arr을 순회할 수 있게 됩니다.● 포인터로 배열 요소 .. 2025. 4. 19.
[C언어][초급] Chapter51. 포인터 선언과 사용 – 다양한 자료형의 포인터 활용하기 이전 글에서 포인터가 변수의 주소를 저장하는 변수라는 것을 배웠습니다.이번에는 다양한 자료형의 포인터 선언과 활용 방법을 더 구체적으로 살펴보겠습니다.● 기본 포인터 선언int a = 10;int *p = &a;이 코드는 정수형 변수 a의 주소를 정수형 포인터 p에 저장하는 예입니다.● 다양한 자료형의 포인터float f = 3.14;float *fp = &f;char c = 'A';char *cp = &c;각 자료형에 맞는 포인터를 선언하고 사용해야 합니다.● 포인터가 가리키는 값 변경하기*p = 20;p가 가리키는 변수(a)의 값을 직접 바꿉니다. 즉, a = 20과 같은 효과입니다.● null 포인터int *ptr = NULL;아직 어떤 것도 가리키지 않는 포인터는 NULL로 초기화하는 것이 안전합.. 2025. 4. 19.
[C언어][초급] Chapter50. 포인터란? – 메모리 주소를 다루는 핵심 개념 포인터(pointer)는 C언어에서 가장 중요하면서도 가장 어려운 개념 중 하나입니다.하지만 개념을 제대로 이해하면 메모리 관리, 배열, 함수, 구조체 등 거의 모든 부분에 강해질 수 있어요.포인터는 변수의 주소(위치)를 저장하는 변수입니다.즉, 어떤 변수의 값을 직접 저장하는 게 아니라, 그 값이 저장된 "주소"를 저장합니다.● 변수와 주소int a = 10;printf("%p\n", &a);&a는 변수 a의 주소를 의미합니다. %p는 주소를 출력할 때 사용하는 서식입니다.● 포인터 선언int *p;int형 변수를 가리키는 포인터입니다. 이 포인터는 어떤 int 변수의 주소를 저장할 수 있어요.● 포인터에 주소 저장int a = 10;int *p = &a;변수 a의 주소를 p에 저장했습니다. 이제 p는.. 2025. 4. 19.
[C언어][초급] Chapter49. 문자열 함수 – strcmp 함수로 문자열 비교하기 프로그래밍에서는 두 문자열이 같은지 비교해야 할 때가 자주 있습니다.예를 들어 아이디가 "admin"인지 확인하거나, "yes" 또는 "no" 같은 선택지를 검사할 때 말이죠.C언어에서는 문자열을 단순히 a == b 처럼 비교할 수 없습니다.그 대신 strcmp 함수를 사용해야 합니다.● strcmp 함수 사용법#include strcmp(문자열1, 문자열2);두 문자열이 같으면 0을 반환하고,다르면 음수 또는 양수를 반환합니다.● 예시 코드char a[] = "apple";char b[] = "apple";if (strcmp(a, b) == 0) { printf("같습니다!\n");}두 문자열이 완전히 같기 때문에 strcmp 결과는 0이 됩니다.● 비교 결과 해석0: 두 문자열이 같다 문자열1 .. 2025. 4. 19.
[C언어][초급] Chapter48. 문자열 함수 – strcat 함수로 문자열 이어 붙이기 여러 개의 문자열을 하나로 합치고 싶을 때 사용하는 함수가 strcat입니다.이 함수는 기존 문자열의 끝에 다른 문자열을 이어 붙이는 역할을 합니다.예를 들어 "Hello"와 "World"를 붙여서 "HelloWorld"로 만들고 싶다면 strcat을 사용할 수 있습니다.● strcat 함수 사용법#include char str[20] = "Hello";strcat(str, "World");결과는 "HelloWorld"입니다. 문자열 "World"가 str의 끝에 이어 붙습니다.● 문자열 변수끼리 붙이기char a[30] = "Good ";char b[] = "Morning";strcat(a, b);결과적으로 a는 "Good Morning"이 됩니다.● 주의할 점이어 붙이는 대상 배열(첫 번째 인수)은 .. 2025. 4. 19.
[C언어][초급] Chapter47. 문자열 함수 – strcpy 함수로 문자열 복사하기 C언어에서 문자열은 배열이기 때문에, = 연산자로 문자열 전체를 한 번에 복사할 수 없습니다.이럴 때 사용하는 함수가 바로 strcpy입니다.strcpy 함수는 한 문자열을 다른 배열에 그대로 복사해 줍니다.문자 하나씩 일일이 복사하지 않아도 되기 때문에 매우 편리합니다.● strcpy 함수 사용법#include char str1[20];strcpy(str1, "Hello");두 번째 인수의 문자열이 첫 번째 배열에 복사됩니다.● 문자열 변수 간 복사char a[20] = "banana";char b[20];strcpy(b, a);문자열 a에 있는 값이 문자열 b로 복사됩니다. 이후 b도 "banana"가 됩니다.● 주의할 점복사할 대상(첫 번째 인수)은 충분히 큰 배열이어야 합니다.strcpy는 문자열.. 2025. 4. 19.
728x90