본문 바로가기

C언어/예습

[C언어 예습]DAY13_포인터(1)

포인터(1)

: 가리키는 것, 주소를 가리키는 것.

 

- 포인터 변수
- 포인터 상수 : 배열

     변수(저장공간): 값
     포인터(저장공간): 주소값

 

- &data / &(주소연산자)변수(저장공간)
- int *PData / int(자료형)*(포인터연산자)
- *PData / *(참조연산자) : 가서 읽어라.

     100페이지 피세요~ : 포인터
     100페이지 읽으세요~ : 참조

포인터의 크기는 컴파일러마다 다름. 32bit 에서는 자료형 상관없이 무조건 4byte.
                                                64bit 에서는 자료형 상관없이 무조건 8byte.


 

선택정렬(오름차순)
        9 1 8 5 6
1회전 1 9 8 5 6
2회전 1 5 6 8 9
3회전 1 5 6 8 9
4회전 1 5 6 8 9

 

#include <stdio.h>

void sort(int *arData, int length ) {
	for (int i = 0; i < length - 1; i++) {
		//1회전 : 4번반복
		//2회전 : 3번반복
		//3회전 : 2번반복
		//4회전 : 1번반복
		for (int j = i + 1; j < length; j++) {
			if (arData[i] > arData[j]) {
				int temp = arData[i];
				arData[i] = arData[j];
				arData[j] = temp;
			}
		}
	}

}

void main() {
	int arData[5] = { 9, 1, 8, 5, 6 };
	int length = sizeof(arData) / sizeof(int);

	sort(arData, length);

		for (int i = 0; i < length; i++) {
			printf("%d ", arData[i]);
		}
		printf("\n");
}

 


#include <stdio.h>

void main(){
	int data = 10;
	int* PData = &data;

	//printf("%d\n", sizeof(PData));
	*PData = 30;
	printf("%d\n", *PData);
	printf("%d\n", data);


}

 

C언어 : 자료구조를 만들기에 적합
JAVA : 자료구조를 사용하기에 적합

 


===== RAM 확인하는 방법 =====

F9키를 눌러 중단점 표시
F5키로 디버깅지역창(로컬)에서 주소값 복사
메모리창(디버그 > 창> 메모리창)보기
주소 붙여넣기
F10 : 한 줄씩 디버깅

메모리창 우클릭 > 부호있는 표시 클릭시 10진수로 바뀜