#include <stdio.h>
// 함수의 이름도 주소값을 갖고 있다.
int main()
{
int a=3;
printf("printf adress : %08x\n", printf); //printf함수주소값
printf("main adress : %08x\n", main); //main함수주소값
printf("a adress : %08x\n", &a); //변수a의 주소값
return 0;
}
// 함수의 이름도 주소값을 갖고 있다.
int main()
{
int a=3;
printf("printf adress : %08x\n", printf); //printf함수주소값
printf("main adress : %08x\n", main); //main함수주소값
printf("a adress : %08x\n", &a); //변수a의 주소값
return 0;
}
#include <stdio.h>
int main()
{
int inum, *ip;
short *sp;
inum=0x0F5A0B43;
ip=&inum; // inum의 주소값을 넣음.(inum을 가리킨다. 0012FF7C)
printf("inum: %x *ip : %p \n", inum, ip);
sp=(short*)ip; //(casting) ip가 갖고있는 주소값을 넣음.(inum을 가리킨다. 0012FF7C)
printf("sp : %p, *sp : %x\n", sp, *sp);
// sp가 갖고있는 주소값출력, sp가 가리키고 있는 주소의 변수값을 출력
sp++; // sp가 inum의 세번째 바이트를 가리킨다.(0012FF7E)
printf("sp :%p, *sp : %x\n", sp, *sp);
return 0;
}
int main()
{
int inum, *ip;
short *sp;
inum=0x0F5A0B43;
ip=&inum; // inum의 주소값을 넣음.(inum을 가리킨다. 0012FF7C)
printf("inum: %x *ip : %p \n", inum, ip);
sp=(short*)ip; //(casting) ip가 갖고있는 주소값을 넣음.(inum을 가리킨다. 0012FF7C)
printf("sp : %p, *sp : %x\n", sp, *sp);
// sp가 갖고있는 주소값출력, sp가 가리키고 있는 주소의 변수값을 출력
sp++; // sp가 inum의 세번째 바이트를 가리킨다.(0012FF7E)
printf("sp :%p, *sp : %x\n", sp, *sp);
return 0;
}
|
|
붙이지 않을 경우는 가리키고있는 주소값을 가져오게 된다. (0012FF7C)
'C언어 > 강의' 카테고리의 다른 글
2010년 10월 21일 목요일 (포인터변수를 이용한 연산 & 주소값 연산) (0) | 2010.10.21 |
---|---|
2010년 10월 21일 목요일 (Source Insight 사용하여 DDRF헤더파일 분석하기) (0) | 2010.10.21 |
2010년 10월 19일 화요일 (감기로인한 결석) (0) | 2010.10.19 |
2010년 10월 18일 월요일 (실수 : 지수부 & 가수부 계산) (0) | 2010.10.18 |
2010년 10월 14일 목요일 (포인터 & little endian) (0) | 2010.10.14 |