본문으로 바로가기

C언어 10일차(포인터)

category 스마트팩토리/C언어 2020. 10. 15. 15:35

포인터

포인터의 크기는 4바이트이다. 

 

Symbol table

type  |   Name  |  Addr

 int       iNum     2000

 int*        P        1000

 

 

int iNum = 100;  

int* p = &iNum; 

 

int iNum = 100; 에 대한 설명

 

1. iNum = 100;

 2000번지 = 100;

2. (int)2000번지 

*((int*)2000) = 100;

 

int* p = &iNum;에 대한 설명

P = iNum;

P = 2000;

1000번지 = 2000;

 

*((int*)1000) = 2000;

   1000번지

 

위에 설명을 통해 위에 내용이 밑에 내용으로 변화된것을 알수있다.

 

iNum = 100;

*((int*)2000) = 100;

P = &iNum;

*((int*)1000) = &iNum;

 

 

pch : %5.2f는 5칸중에 2칸은 소수점 자리이다.

#include<stdio.h>

int main()
{
	char ch, * pch;
	int inum, * pinum;
	float fnum, * pfnum;

	ch = 'a';
	inum = 0x1314;
	fnum = 25.3;

	pch = &ch;
	pinum = &inum;
	pfnum = &fnum;

	printf("ch : %5c,		*pch : %c\n", ch, *pch);
	printf("inum : %5x,		*pfnum : %5x\n", inum, *pinum);
	printf("fnum : %5.2f,		*pfnum : %5.2f\n", fnum, *pfnum);
	pch = (char*)pinum;
	printf("pch : %p,		*pch : %x\n", pch, *pch);
	pch++;
	printf("pch : %p,		*pch : %x\n", pch, *pch);
	return 0;


}

A

iNum = 500;

*((int*)2000) = 500;

 

A'

*P = 500;

*2000 = 500;

*((int*)2000) = 500;

 

A와 A'는 결과적으로 같은 것이다.

'스마트팩토리 > C언어' 카테고리의 다른 글

C언 12일차 (포인터)  (0) 2020.10.21
C언어 11일차  (0) 2020.10.20
C언어 9일차(포인터)  (0) 2020.10.14
C언어 8일차(반복문)  (0) 2020.10.13
C언어 7일차(제어문)  (0) 2020.10.07