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은 상수 개념이 명시적으로 제공되진 않는다고 한다.
갑자기 생각난 깊은 복사 얕은 복사..
내가 퍼온 글은 설명이 더 어렵고
시스템 메모리 기본 구조, 객체 복사, 깊은 복사, 얕은 복사
시스템 메모리의 기본 구조 어떤 프로그램을 동작시키면 메모리에 프로그램이 동작하기 위한 가상의 메모리 공간이 생성된다. 그리고 그 메모리 공간은 다시 목적에 따라 상위 메모리와 하위
bpdev.tistory.com
여기서 Python 얕은 복사랑 깊은 복사. 설명 잘해주심
https://bio-info.tistory.com/146
[Python] 얕은복사와 깊은복사 개념&예시 (shallow copy, deep copy)
* 전체 코드 ## 얕은 복사 a=[1,2,3] b=a[:] # b=a.copy()도 똑같이 동작 b.append(1) print(f"{a=}, {b=}, {id(a)=}, {id(b)=}") # 출력: a=[1, 2, 3], b=[1, 2, 3, 1], id(a)=4379693696, id(b)=4379284288 ## 얕은 복사의 한계 a=[[1,2],[3,4]] b=a
bio-info.tistory.com
상수를 사용하면 예상치 못한 오류를 줄이는 데 도움이 된다고 함
[JavaScript] 자바스크립트 상수(Constant) 이해하기
[JavaScript] 자바스크립트 변수(varibable) 이해하기 에서 변수에 대해 알아봤다. 이번에는 상수에 대해서 알아보자. 상수란 무엇일까? 간단하게 상수는 변수의 반댓말이다. 수학에서의 상수와 동일
bigtop.tistory.com
(동적 언어 정적 언어...조금 더 구체적으로 알아보자)
여기서 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
C : printf 상수 데이터 출력
print formatted 라는 뜻으로, 일정한 형식에 따라 출력printf()를 사용하기 위해 반드시를 먼저 작성해주어야 한다.→ stdio.h 파일의 내용을 프로그램 안에 복사한다는 의미standard input output을 의미하며
velog.io
- 실수는 소수점 형태와 지수 형태로 표현할 수 있다. 지수 형태는 지수 값의 크기에 따라 무수히 많은 방법으로 표현이 가능하지만, 그중 소수점 앞에 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;
}
(↑ 위 블로그 글에서)