Basic C Language

#14. Array(배열)

Srff5123 2023. 4. 19. 10:30
728x90

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define ARRSIZE 5  // ARRSIZE 를 고정값 5로 선언 

int get_2(void)
{
    return 2;
}

void randomnumber();

int main()
{
    int floor101, floor102, floor103, floor104;
    int floor201, floor202, floor203, floor204;

    //배열   
    int floor[40];  // 정수형 변수이름[ 칸수 ]     0~39칸의 정수형 배열 생성   한칸에 40개의 정수형 변수 저장 가능
    float farr[3];
    double darr[5];


    int arr1[3] = { 1, 2, 3 };    순서대로  1 2 3 값을 배열에서 자리 0 1 2 칸에 저장
    int arr2[3] = { 0 };
    int arr3[5] = { 1, 2, 3 }; // 1 2 3 0 0 
    int arr4[ARRSIZE] = { 0 };
    int arr5[] = { 1, 2, 3 };

    char arr6[5] = { 'A', 'B', 'C' }; //0 1 2 3 4
    int a = 1;
    printf("%c, %c, %c\n", arr6[0], arr6[a], arr6[get_2()]);

    //printf("%c", arr6[5]);

    printf("\n");

    int arr7[3] = { 0, 1, 2 }; //0 1 2
    printf("%d %d %d\n", arr7[0], arr7[1], arr7[2]);
    printf("%p %p %p\n", &arr7[0], &arr7[1], &arr7[2]);

    printf("%d\n", sizeof(arr7) / sizeof(int));

    int size = sizeof(arr7) / sizeof(int); //3

    for (int i = 0; i < size; i++) // 반복문 활용하여 배열에  값 빠르게 넣기
    {
        printf("%d ", arr7[i]);
    }

    printf("\n");

    randomnumber();

    return 0;
}

void randomnumber()
{
    srand((unsigned int)time(NULL));

    int number[10] = { 0 };

    for (int i = 0; i < 10; i++) 
    {      
        number[i] = rand() % 10 + 1;

        for (int j = 0; j < i; j++)
        {
            if (number[i] == number[j])
            {
                i--;
                break;
            }
        }
    }

    for (int i = 0; i < 10; i++)
    {
        printf("%d ", number[i]);
    }
}

728x90