programming languages/C
포인터와 배열 관계(실습)
book_lover
2024. 5. 23. 12:04
myfunc.h
#ifndef MYLIB_H
#define MYLIB_H
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void inputRandomArray(int *array, int size);
void printArray(int *array, int size);
#endif // MYLIB_H
myfunc.c
#include "myfunc.h"
void inputRandomArray(int *array, int size) {
for (int i = 0; i < size; i++) {
*(array + i) = (rand() % 100) + 1;
// array[i] = (rand() % 100) + 1;
}
}
void printArray(int *array, int size) {
for (int i = 0; i < size; i++) {
printf("%3d\t", *(array + i));
// printf("%d ", array[i]);
if ((i + 1) % 10 == 0)
printf("\n");
}
}
main
#include "myfunc.h"
#define SIZE 100
int main(void) {
int number[SIZE];
srand(time(NULL));
inputRandomArray(number, SIZE);
printArray(number, SIZE);
return 0;
}
배열의 복사
myfunc.c
#include "myfunc.h"
void inputRandomArray(int *array, int size) {
for (int i = 0; i < size; i++) {
*(array + i) = (rand() % 100) + 1;
// array[i] = (rand() % 100) + 1;
}
}
void printArray(int *array, int size) {
for (int i = 0; i < size; i++) {
printf("%3d\t", *(array + i));
// printf("%d ", array[i]);
if ((i + 1) % 10 == 0)
printf("\n");
}
}
void arrayCopy(int *array, int *arrayCopy, int size) {
for (int i = 0; i < size; i++) {
*(arrayCopy + i) = *(array + i);
}
}
myfunc.h
#ifndef MYLIB_H
#define MYLIB_H
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void inputRandomArray(int *array, int size);
void printArray(int *array, int size);
void arrayCopy(int *array, int *arrayCopy, int size);
#endif // MYLIB_H
main
#include "myfunc.h"
#define SIZE 10
int main(void) {
int array1[SIZE];
int array2[SIZE];
srand(time(NULL));
inputRandomArray(array1,SIZE);
arrayCopy(array1, array2, SIZE);
printArray(array1, SIZE);
printArray(array2, SIZE);
return 0;
}