#include <stdio.h>
void main()
{
int num = 100, num2 = 500;
int *p = #
printf("%p %d\\n", p, *p);
p = p + 1;
printf("%p %d\\n", p, *p); // *p에는 쓰레기값이 들어있다. 배열 형태로 진행 시 올바르게 나올 수 있음.
getchar();
}
포인터 주소에 값을 연산한 것이므로, 4바이트(p = p + 1) 옮겨진 메모리의 쓰레기 값이 나오게 되는 것
#include <stdio.h>
void main()
{
double num = 100, num2 = 500;
double *p = #
printf("%p %f\\n", p, *p);
p = p + 1;
printf("%p %f\\n", p, *p);
getchar();
}
#include <stdio.h>
void main()
{
char ch = 'A';
char *p;
p = &ch;
printf("%p\\n", p);
p++; // p = p + 1; 문자형 char 의 크기만큼 횟수를 더함.
printf("%p\\n", p);
getchar();
}
#include <stdio.h>
void main()
{
char ch = 'A';
char *p;
p = &ch;
int i;
for (i = 0; i < 1000; i++) {
printf("%c", *p);
p++;
}
getchar();
}
#include <stdio.h>
void main()
{
int arr[5] = { 1, 2, 3, 4, 5 };
int *p;
int i;
p = arr;
// p = &arr[2]; 가능
printf("%p %p\\n", arr, &p);
for (i = 0; i < 5; i++)
printf("%5d", arr[i]);
printf("\\n");
for (i = 0; i < 5; i++)
printf("%5d", *p++);
printf("\\n");
getchar();
}