반응형

포인터 4

[C언어] 문자열 선언 방법 정리(배열, 포인터)

C언어 string 배열 및 포인터 선언 예제 및 특징 비교 C언어에서 문자열(string) 자료를 char 배열로 선언하는 경우와 포인터를 이용하여 선언하는 경우의 예시 코드를 살펴보고, 이 두 문자열 선언 경우의 특징을 비교해보도록 하겠습니다. 배열(array) 이용 문자열 선언 예시 C언어에서는 C++과 달리 string을 직접적으로 다룰 수 있는 자료형이 없어 각 글자에 대한 char 변수들의 배열 혹은 포인터 형태로 선언을 해야합니다. 그렇다면 먼저 array를 통한 문자열 선언 방법을 살펴보겠습니다. char 배열을 통한 string 선언을 그림으로 도식화하면 다음과 같습니다. 편의상 메모리 주소는 200부터 시작하는 것으로 가정하였습니다. 각 글자를 나타내는 char 자료형의 크기는 1 바이..

C & C++ 2022.04.05

C언어 포인터를 input으로 받는 함수 선언 (pass by pointer) : swap 함수 예제 비교

C언어 pass by value vs pass by pointer 차이 안녕하세요. 이번 포스팅에서는 C언어에서 포인터를 함수의 인자로 받는 pass by pointer 선언 방식의 사용 이유와 예제에 대해서 살펴보도록 하겠습니다. swap 함수 포인터 사용 예제 가장 기본적인 예제를 통해서 포인터를 인자로 받는 이유에 대해서 살펴보겠습니다. 두 정수 변수의 값을 서로 바꾸는 swap 함수를 예시를 보겠습니다. #include void swap(int a, int b){ int t = a; a = b; b = t; } void swap2(int *a, int *b){ int t = *a; *a = *b; *b = t; } int main(){ int num_1 = 3; int num_2 = 5; // p..

C & C++ 2021.12.20

[C언어] 배열(Array) 구조 선언, 할당, 포인터 연산, 출력 예제

지난 번에 C언어 포인터에 관한 포스팅에 이어, 이번에는 포인터를 기반으로 한 배열 구조에 대한 예제를 몇 가지 다루어보고자 합니다. C언어 배열 구조 선언(Array 선언) 배열 구조는 연속된 주소를 원하는 개수만큼 통째로 할당받아, 자료를 원하는 위치에 할당하여 순서로 접근 가능하게 만든 구조입니다. 다만, 파이썬의 리스트 등과는 다르게, 특정 자료형을 넣기로 선언했다면 해당 자료형만 넣어야하는 식의 구성으로 되어 있다는 점이 특징입니다. 예를 들어, 한 배열에 int, double 등 여러 자료가 섞여서 들어가는 것은 불가능합니다. 선언하는 문법 자체는 매우 간단합니다. 다음의 예시 코드를 살펴보겠습니다. #include int main(){ // 배열 선언 (값 초기화 X) int arr[5]; ..

C & C++ 2021.12.07

[C언어] 포인터, 이중포인터 개념, 실습 예제 완벽 이해

안녕하세요. 이번 글에서는 많은 C언어를 공부하시는 분들을 애먹이는 개념이지만, 컴퓨터 구조의 기초, 메모리 할당과 밀접한 연관이 되어있으며, 이후에 다룰 매우 중요한 개념인 배열의 근간이 되는 포인터, 이중포인터의 실습 예제에 대해서 최대한 쉽고 친근하게 다루어보도록 하겠습니다! C언어 포인터 선언(& 과 *의 차이) 먼저, 포인터를 선언하는 예시입니다. 여기서는 int 자료형을 예제로 보여드렸지만, double, char 자료형 등 기본 자료형이라면 모두 포인터를 선언할 수 있습니다. #include int main(){ int a = 3; int *b = &a; printf("a의 값 = %d\n", a); printf("b의 값 = %p\n", b); // %p로 포맷팅 } 여기서 *와 &의 차이..

C & C++ 2021.12.07
반응형