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은 상수 개념이 명시적으로 제공되진 않는다고 한다.

 

갑자기 생각난 깊은 복사 얕은 복사.. 

내가 퍼온 글은 설명이 더 어렵고

https://bpdev.tistory.com/50

 

시스템 메모리 기본 구조, 객체 복사, 깊은 복사, 얕은 복사

시스템 메모리의 기본 구조 어떤 프로그램을 동작시키면 메모리에 프로그램이 동작하기 위한 가상의 메모리 공간이 생성된다. 그리고 그 메모리 공간은 다시 목적에 따라 상위 메모리와 하위

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

 

상수를 사용하면 예상치 못한 오류를 줄이는 데 도움이 된다고 함

https://bigtop.tistory.com/10

 

[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;
}

(↑ 위 블로그 글에서) 

 

 

+ Recent posts