포인터
포인터의 크기는 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 |