포인터와 배열


배열의 이름은 상수 형태의 포인터로 배열의 이름을 피연산자로 하는 *(포인터)연산이 가능하다.

 

포인터


메모리 주소 값을 저장하여 사용한다.

 

# 메모리에 직접 접근이 가능하다.

 

1. 포인터 변수

int *pnum; // int형 변수를 가리키는 pnum을 선언한다.

 

2. &연산자와 *연산자

& : 변수의 수조 값을 반환한다.

* : 포인터가 가리키는 메모리를 참조한다(메모리 참조 연산자).

 

int num=10;

int *pnum=# // num의 주소 값으로 포인터 변수 pnum을 초기화한다.

 

 

3. 포인터 초기화

int *pnum1=0;

int *pnum2=NULL; // NULL 포인터, NULL은 0을 의미한다.

 

pnum1과 pnum2는 아무데도 가리키지 않는다. 

1차원 배열을 이용한 문자열 변수


 

# 문자열의 끝에는 '\0'이 자동으로 삽입된다. char형 배열 선언 시 특수문자(\0)를 고려하여 배열의 길이를 결정해야 한다.

# 문자열 끝에 자동 저장되는 '\0'는  ' '(공백)과 다르다. '\0'(널 : null) 문자의 아스키 코드 값은 0이고, ' '(공백)의 아스키 코드 값은 32이다.

# Scanf 함수(입력 함수) 이용하여 문자열 입력시 서식문자 "%s"를 사용한다.

# 배열 요소("%c")를 대상으로 입력 받을 시 &을 붙여야 하고, 문자열 데이터("%s")를 입력 받을 때는 붙이지 않는다.

 

<문자열 변수 예제 코드>

문자열 배열(char).txt

 

 

1차원 배열과 Sizeof


 

1. 1차원 배열

# 배열의 위치(인덱스 값)는 0부터 시작한다.

# 배열의 초기화는 선언과 동시 초기화(방법1)와 선언 후 초기화(방법2)가 있다. (사진 참고)

# 배열의 모든 요소는 반복문을 이용해 순차적 접근이 가능하다.

 

# int : 자료형, arr1 : 배열 이름, [5] : 배열 길이

 

int arr1[5]; // 길이가 5인 int형 1차원 배열

float arr2[5]; // 길이가 5인 float형 1차원 배열

double arr3[5]; // 길이가 5인 double형 1차원 배열

char arr4[5]; // 길이가 5인 char형 1차원 배열

 

<char형의 1차원 배열을 이용한 문자열 사용>

[Programming/C] - C Language。1차원 배열을 이용한 문자열 변수

 

int arr[0] = 10; // 배열의 0번 요소(첫 번째, 인덱스) 10을 저장.

 

 

2. Sizeof

# 배열의 크기(바이트 단위의 배열 크기 반환)

sizeof(배열 이름); // sizeof(arr);

 

# 배열의 길이

sizeof(배열 이름) / sizeof(자료형);

재귀함수와 Factorial


자기 자신을 호출하는 함수이다.

 

# 팩토리얼(Factorial)

 

+ Recent posts

티스토리 툴바