C :: 포인터 pointer

J·2024년 5월 21일

C언어

목록 보기
8/18
post-thumbnail

"point" + "er" = "pointer" (가리키는 것)
포인터 변수 안에는, "가리키고자 하는 것의 주소"를 자신의 값으로 가짐
& * 기호를 주로 사용

포인터 변수 사용

-> 변수 선언, 값 설정, 변수 초기화

일반 변수 사용
int num = 5;
	printf("변수 num의 주소 :: %d\n", &num);
	printf("변수 num의 값 :: %d\n\n", num);
포인터 변수 사용
int* ptNum;			// 변수 선언 :: (자료형)* (변수이름);
	ptNum = #		// 값 설정 :: (변수이름) = &(가리킬 변수이름);
	printf("ptNum의 값 :: %d\n", ptNum);		// num의 주소값과 동일
	printf("ptNum 값을 통해 가리킨 변수의 값 :: %d\n", *ptNum);		// num의 값과 동일

ex.

// 1. int형 배열 arr[5]를 선언해두고 5개의 숫자를 입력받는다.

	int arr[5];
	for (int i = 0; i < 5; i++) {
		scanf("%d", &arr[i]);
	}

// 2. 포인터 변수 ptArr를 선언한다
	int* ptArr;
	
// 3. ptArr를 통하여 arr의 값들을 출력하는 방법이 2가지
	// printf("%d", arr);
	ptArr = arr;	// arr :: 단독으로 쓰면, 배열의 시작 주소 반환
	for (int i = 0; i < 5; i++) {
		// 1) * 사용하는 경우
		printf("%d ", *(ptArr+i));		// ptArr :: arr의 첫번째 값 저장된 공간
		
		// 2) * 사용하지 않는 경우
		printf("%d", ptArr[i]);			// ptArr 단독 사용 결과 = arr 단독 사용 결과
	}
profile
나야

0개의 댓글