언어/C언어

[C언어] 메모리주소

antoroong 2025. 3. 3. 22:44

 

short(2 byte) / int(4 byte) / float(4 byte) / double(8 byte) / char(1 byte)

 

int a = 10; ===⇒ &a

int b = 20;

 

메모리

 

1. & : 주소연산자 (16진법으로)

2. *  : 포인터 선언 연산자

 

배열 그 자체는 메모리 주소다

- 전체 배열일때는 &를 안붙여도 주소값이 나온다

- 각기 배열일때는 & 붙인다

 

배열이 안붙으면 &가 필요하고

 

 

int a = 1;
	char ch = 'a';

	printf("a는 %d\n", a);
	printf("ch는 %c\n", ch);

	printf("a 주소값%d\n", &a);
	printf("ch 주소값 %d\n", &ch);


	int b[3] = {1,2};
	char chc[3] = {'a','b'};
	printf("b 주소값%d\n", b);
	printf("b 주소값%d\n", &b);
	printf("b 주소값%d\n", &b[0]);
	printf("b 주소값%d\n", b +0);
	printf("b 주소값%d\n", &b[1]);
	printf("b 주소값%d\n", b + 1);

	printf("ch 주소값 %d\n", chc);
	printf("ch 주소값 %d\n", &chc);
	printf("ch 주소값 %d\n", &chc[1]);
	printf("ch 주소값 %d\n", chc +1);

 

 

 

 

 

 

 

 

 

포인터변수