01.
더보기
#include <stdio.h>
int main(void)
{
int data = 100;
printf("%d %p\n", data, &data);
return 0;
}
02.
더보기
#include <stdio.h>
int main(void)
{
int a[5] = { 1,2,3,4,5 };
int* p;
p = &a[2];
printf("%d %d %d %d %d\n", p[-2], p[-1], p[0], p[1], p[2]);
printf("%d %d %d %d %d\n", *(p - 2), *(p - 1), *p, *(p + 1), *(p + 2));
return;
}
03.
더보기
#include <stdio.h>
int main(void)
{
double a[] = { 3.4, 2.2, 1.5, 2.8 };
double* p = a;
int size = sizeof(a) / sizeof(a[0]);
int minIndex = 0;
for (int i = 1; i < size; i++)
{
if (*(p + i) < *(p + minIndex))
minIndex = i;
}
printf("최소 값, 첨자: %d 값: %.1lf\n", minIndex, *(p + minIndex));
return 0;
}
04.
더보기
#include <stdio.h>
int main(void)
{
int value = 0x000000FF;
int* pi = &value;
printf("%d\n", *pi);
short* ps = (short*)&value;
*(ps + 1) = 0x000F;
printf("%d %d", *ps, *(ps + 1));
return 0;
}
05.
더보기
#include <stdio.h>
int main(void)
{
int arr[3][4] = {
{11,22,33,44},
{55,66,77,88},
{11,66,77,44} };
int(*p)[4] = arr;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++) {
printf("arr[%d][%d] = %d ", i, j, *(*(p + i) + j)); // *(p[i] + j)
}
puts("");
}
return 0;
}
06.
더보기
#include <stdio.h>
int main(void)
{
int a[3][5] = {
{1,2,3,4,5},
{10,20,30,40,50},
{100,200,300,400,500} };
int* p[3] = { a[0],a[1],a[2] };
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
printf("a[%d][%d] = %3d ", i, j, *(p[i] + j));
}
puts("");
}
return 0;
}
07.
더보기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
double split = 0;
int* p1 = (int*)&split;
int* p2 = p1 + 1;
printf("두 정수 입력: ");
scanf("%d %d", p1, p2);
printf("%d + %d = %d\n", *p1, *p2, *p1 + *p2);
printf("%d - %d = %d\n", *p1, *p2, *p1 - *p2);
printf("%d * %d = %d\n", *p1, *p2, *p1 * *p2);
printf("%d %% %d = %d\n", *p1, *p2, *p1 % *p2);
return 0;
}
08.
더보기
#include <stdio.h>
int main(void)
{
int a[] = { 11,22,33,44,55,66 };
int* p = a;
int* q = a + 5;
while (p < q) {
int temp = *p;
*p = *q;
*q = temp;
/* XOR SWAP
*p ^= *q;
*q ^= *p;
*p ^= *q;
*/
p++;
q--;
}
// 역으로 바뀐 배열 출력
for (int i = 0; i < 6; i++) {
printf("%d ", a[i]);
}
puts("");
return 0;
}