긴 공백기를 깨고...
- 함수
- 포인터
- 왜 포인터를 쓰는가, 포인터 관련 문법, 포인터 동작 원리, swap example
- 배열
#include <stdio.h>
#pragma warning(disable:4996)
void getNumbers(int* ary, int len);
int main() {
int pause;
int a[5];
int i;
getNumbers(a, 5);
for (i = 0; i < 5; i++) {
printf("%d ", *(a + 4 - i));
}
scanf("%c", &pause);
scanf("%c", &pause);
return 0;
}
void getNumbers(int[] ary, int len) {
int i;
for (i = 0; i < len; i++) {
scanf("%d", ary + i);
}
}
---
#include <stdio.h>
#pragma warning(disable:4996)
int main() {
int pause;
int a[5];
int i;
for (i = 0; i < 5; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < 5; i++) {
printf("%d ", a[4 - i]);
}
scanf("%c", &pause);
scanf("%c", &pause);
return 0;
}
---
#include <stdio.h>
#pragma warning(disable:4996)
void printNumbers(int, int);
void swap(int*, int*);
int add1(int toAdd);
int main() {
int pause;
int a = 1;
int b = 2;
b = toAdd(b);
printf("%d %d\n", &a, &b);
printNumbers(a, b);
swap(&a, &b);
printNumbers(a, b);
scanf("%c", &pause);
return 0;
}
void swap(int* swapA, int* swapB) {
int temp = *swapA;
*swapA = *swapB; // a=2;
*swapB = temp;
}
int add1(int toAdd) {
return toAdd + 1;
}
void printNumbers(int printA, int printB) {
printf("a= %d, b= %d\n", printA, printB);
}