# 포인터 주소값 출력시
%u
# 포인터 연산 관련
void main()
{
int m[4] = {9,8,7,6}; // int의 사이즈는 4
double *pm; // double 사이즈는 8
pm = (double*)&m;
printf("%d %d %d %d\n",m[0],m[1],m[2],m[3]);
printf("%u %u %u %u\n",&m[0],&m[1],&m[2],&m[3]);
printf("%d %d %d %d\n",*pm,*(pm+1),*(pm+2),*(pm+3));
printf("%u %u %u %u\n", pm,pm+1,pm+2,pm+3);
}
결과값
9 8 7 6
1245012 1245016 1245020 1245024 // 4씩 증가함
9 8 7 6
1245012 1245020 1245028 1245036 // 8씩 증가함
# "문자열" 의 의미는 그 문자열의 첫 번째 주소값을 뜻 함.
마치, 문자배열에서 배열 이름이 배열의 첫 번쨰 주소값 인것과 같은 개념
# 포인터 배열
char *M[] = {"The", "Plming"};
printf("%s %s",M[0],M[1]);
printf("%s %s\n",*M,*(M+1));
출력 : The Plming
The Plming
프로그래밍/기타