728x90
6.16 배열과 런타임 에러
#include <stdio.h>
#define NUM_DAYS 365
int main()
{
char my_chars[] = "Hello, World!";
int daily_temperature[NUM_DAYS];
double stock_prices_history[NUM_DAYS];
printf("%zd\n", sizeof(stock_prices_history));
printf("%zd\n", sizeof(double)*NUM_DAYS);
printf("%zd\n", sizeof(stock_prices_history[0]));
return 0;
}
Output :
2920 -> 365 * 8byte(double)
2920
8 -> 글자 하나 (double 하나)
#include <stdio.h>
int main()
{
int my_numbers[5];
my_numbers[0] = 1; // 배열의 첫 공간의 주소는 0
my_numbers[1] = 3; // subscript, index, offset(첫번째 방으로부터 얼마나 떨어져 있나)
my_numbers[2] = 4;
my_numbers[3] = 2;
my_numbers[4] = 1024;
printf("%d\n", my_numbers[0]); // 각 index의 값들 출력
printf("%d\n", my_numbers[1]);
printf("%d\n", my_numbers[2]);
printf("%d\n", my_numbers[3]);
printf("%d\n", my_numbers[4]);
return 0;
}
Output :
1
3
4
2
1024
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int my_numbers[5];
for (int i = 0; i < 5; i++)
scanf("%d", &my_numbers[i]);
// scanf("%d", my_numbers); // array의 이름 자체가 주소값. my_numbers[0]과 동일
printf("\n");
printf("%d\n", my_numbers[0]);
printf("%d\n", my_numbers[1]);
printf("%d\n", my_numbers[2]);
printf("%d\n", my_numbers[3]);
printf("%d\n", my_numbers[4]);
return 0;
}
Output :
(1 입력)
(3 입력)
(2 입력)
(4 입력)
(5 입력)
1
3
2
4
5
#include <stdio.h>
int main()
{
int my_numbers[5];
my_numbers[0] = 1;
my_numbers[1] = 2;
printf("%d\n", my_numbers); // array의 이름 자체가 주소값을 의미
printf("%d", &my_numbers);
return 0;
}
Output :
5634116
5634116
#include <stdio.h>
int main()
{
/* Runtime Error */
int my_numbers[5];
my_numbers[5] = 123; // out of bound -> complie시 이 error를 잡아주지 않음
my_numbers = 7; // compile error
return 0;
}
강의 출처 : https://www.inflearn.com/course/following-c/dashboard
'Study_C, C++ > 홍정모의 따라하며 배우는 C언어' 카테고리의 다른 글
[홍정모의 따라하며 배우는 C언어] 6.18 루프 안에서 함수의 반환값 사용하기 (0) | 2021.10.14 |
---|---|
[홍정모의 따라하며 배우는 C언어] 6.17 for 루프를 배열과 함께 사용하기 (0) | 2021.10.11 |
[홍정모의 따라하며 배우는 C언어] 6.13 탈출조건 루프 do while ~ 6.15 중첩된 루프들 (0) | 2021.09.12 |
[홍정모의 따라하며 배우는 C언어] 6.10 다양한 대입 연산자들 (그리고 어셈블리 코드 확인법) ~ 6.12 제논의 역설 시뮬레이션 예제 (0) | 2021.09.07 |
[홍정모의 따라하며 배우는 C언어] 6.5 사실과 거짓 ~ 6.9 for는 유연해요 (0) | 2021.09.05 |