Constants in C
이 프로그램을 실행하면 정수 5를 출력한 후 새로 입력해 준 8의 출력을 수행한다.
내 컴 왜 이렇게 느리지
하지만 여기서
num을 변경되지 않는 값으로 만들고 싶다면 const 를 붙여준다.
num 변수에 const를 붙여 상수가 되었기 때문에
빌드 · 실행 버튼을 누르면 오류나고 실행이 되지 않는다.
9번째 줄 앞에 빨간색 오류 표시가 뜨고
'num'은 읽기 전용 변수로 할당됨 이라는 오류 메시지가 뜬다.
그래서 위에는 FAV_NUM이라는 상수로,
아래는 num이라는 변수로 변경해주면
더이상 같은 변수는 아니지만 오류도 나지 않는다.
아무튼 상수는 아래 열에서 변화시킬 수 없음
그리고 상수는 보통 대문자와 _로 변수를 선언해서 만드는데,
개발자들이 보고 아 상수구나 싶게 그렇게 쓰는 거라 한다.
대문자 아니어도 오류는 나지 않는다.
C
const int MY_CONSTANT = 22;
Java
static final int MY_CONSTANT = 22;
JavaScript
const MY_CONSTANT = 22;
Python
MY_CONSTANT = 22
위는 C와 Java와 JavaScript에서 상수를 표기하는 예시라는데,
Python은 상수 개념이 명시적으로 제공되진 않는다고 한다.
갑자기 생각난 깊은 복사 얕은 복사..
내가 퍼온 글은 설명이 더 어렵고
여기서 Python 얕은 복사랑 깊은 복사. 설명 잘해주심
https://bio-info.tistory.com/146
상수를 사용하면 예상치 못한 오류를 줄이는 데 도움이 된다고 함
(동적 언어 정적 언어...조금 더 구체적으로 알아보자)
여기서 Hello도 상수.
printf()는 기본적으로 문자열 출력 함수라 함
printf("%c", 'A'); // 문자 상수 A
printf("%s", "A"); // 문자열 상수 A
printf("%d", 2) // 정수 상수 2
printf("%lf", 3.4) // 실수 상수 3.4
https://velog.io/@sooyeon/C-printf-%EC%83%81%EC%88%98-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%B6%9C%EB%A0%A5
- 실수는 소수점 형태와 지수 형태로 표현할 수 있다. 지수 형태는 지수 값의 크기에 따라 무수히 많은 방법으로 표현이 가능하지만, 그중 소수점 앞에 0이 아닌 유효 숫자 한 자리를 사용하여 지수 형태로 바꾼 것을 정규화표기법이라고 한다.
#include <stdio.h>
int main(void)
{
//1. %lf를 사용해서 1e6를 소수점 이하 1자리까지 출력하세요.
printf("%.1lf\n", 1e6);
//2. %lf를 사용해서 3.14e-5를 소수점 이하 7자리까지 출력하세요.
printf("%.7lf\n", 3.14e-5);
//3. %le를 사용해서 0.0000314를 출력하세요.
printf("%le\n", 0.0000314);
//4. %le를 사용해서 0.0000314를 소수점 이하 둘째 자리까지 출력하세요.
printf("%.2le\n", 0.0000314);
return 0;
}
(↑ 위 블로그 글에서)