본문 바로가기
C

c언어 기초강의 7강 변수와 상수

by 코드덕후 2022. 8. 12.
728x90

 

방송에서 사용된 PPT를 이미지 형태로 제공합니다. 
저작권이 있는 내용이니 재편집 및 무단배포를 금지해 주시기 바랍니다.
강의용이나 공부용으로 사용하시기를 부탁드립니다.

변수의 필요성은 크게 2가지로 데이터의 보존 과 관리가 그 주 목적이라고 했습니다.

변수의 필요성은 크게 2가지로 나뉠수 있습니다. 

 

변수를 선언 할 때는 변수의 타입도 같이 명시해 주어야합니다. 

여러분은 앞 시간에 변수의 선언 형태를 보았습니다.

 

int num;

여기에서 int가 바로 변수의 타입입니다.

 

여러분이 이번장에서 주목해야 할 사항입니다.

 

이러한 타입이 왜 필요할까?

변수의 타입의 종류는 무엇일까?

변수타입의 표현가능 범위는 어디까지인가?

 

이것만 기억 하시고 이번장을 보시기 바랍니다.

 

변수의 타입의 필요성

 

변수의 타입이 왜 필요할까? 

 

앞으로 여러분께 설명 할 내용은 여러분을 혼란 스럽게 하기 위함이 아닙니다. 

 

컴퓨터의 메모리 사용을 이해하고 주소를 효율적으로 관리하기 위해서 변수의 타입을 정해야 한다는 것을 알려드리기 위해서 입니다.

 

변수의 타입이 필요한 이유는 메모리를 효율적으로 관리하기 위해서 입니다.

연산에 필요한 데이터를 보존하기 위해 필요한 메모리 공간을 용도에 맞게 사용함으로써 불필요한 메모리 공간의 낭비를 줄여보자 입니다.

 

그리고 컴퓨터의 관점에서 보면 메모리를 회수해야 하는데 변수에 공간이 미리 정해져 있지 않으면 얼마나 회수해야 하는지 알수가 없습니다. 그래서 타입이 필요한 것입니다.

 

 

변수의 타입의 종류  

  

변수타입에 대한 참조 표 입니다. 

  

(사진을 클릭하면 큰 이미지로 보실수 있습니다.) 

 

너무 변수의 종류가 많은가요? 아닙니다. 아직 더있지만 필자가 몇가지를 생략한 것입니다.  

 

여러분의 정신을 혼란시키기 위함이 아니라고 말씀드렸습니다. 그냥 보면 많은것 같지만  이제부터 하나씩 정복해 보도록 하겠습니다. 

 

  

변수 타입의 종류 

 

변수 타입은 크게 4가지로 분류됩니다. 

 

정수를 표현하기 위한 정수형 

실수를 표현하기 위한 실수형 

사용자가 정의한 자료형을 표현하기 위한 사용자 정의형 

아무것도 정해지지않은 타입을 표현하기 위한 void형 

 

이렇게 4가지로 나뉠수 있습니다. 

 

void형에 대해서는 포인터를 사용하기 전까지는 크게 작용하지 않기 때문에 그냥 타입이없다, 정해지지않는 타입이다. 이렇게만 기억 하세요. 

 

사용자 정의형은 뒤에서 배울 구조체,공용체,열거체 그리고 사용자 정의타입에서 자세히 다룰 내용이므로 사용자가 정의한 타입이다 라고 기억 하세요.

 

벌써 자료 타입 종류중 2가지를 배웠습니다. 절반 이나 왔네요 이제 남은 2가지 자료형 정수형과 실수형에 대해서 자세히 알아 보도록 하겠습니다.

 

정수형

 

정수형은 고정소수점 방식으로 부호부 와 정수부 로 나누어서 표현하게 됩니다.

 

부호부 : 양수이면 0,음수이면 1을 씁니다.(부호가 있는 정수 형 일경우에 그렇습니다.)

정수부 : 저장 할 데이터의 숫자를 절대값 2진수로 변환하여 저장합니다. 

  

고정 소수점 데이텨 형식은 컴퓨터 내에서 정수를 표현 할 때 사용하는 형식으로  

표현 방식은 1바이트, 2바이트, 4바이트 , 8바이트 형식으로 나뉘게 됩니다.

처리되는 부분을 나뉘면 부호부 와 정수부로 나뉘어서 표현 하는 형식을 말합니다. 

대부분의 정수표현과 1의 보수,2의보수 , 절대값의 표현에  사용됩니다. 

 

1바이트 형식[ 8비트 운영체제 ]

: 현재는 찾아 보기 힘든 8비트 컴퓨터입니다. 필자가 처음 갖게된 컴퓨터 이기도 합니다.필자가 소유했던 컴퓨터는 IQ1000이라는 기종으로 키보드에 팩을 꼽아서 사용했던 기억이 나는 컴퓨터입니다. 그 컴퓨터에서 정수가 표현되던 방식입니다. 

 

 부호부 1bit(7)  정수부 7bit(0~7)

 

 

2바이트 형식 [ 16비트 운영 체제 ]  

: 16비트 운영체제를 기반으로 하는 컴퓨터로 필자가 2번째로 소유한 컴퓨터는 16비트 컴퓨터로 대우 코로나 cpc-400L이었습니다. 그 당시에는 슈퍼 컴퓨터를 소유한 기분이었죠. 그 컴퓨터에서 정수가 표현 되던 방식입니다. 

 

 부호부 1bit(15)  정수부 15bit(0~15)

 

 

이후 286/386/486이라는 세대를 지나오면서 32비트 컴터가 등장하게 되는데요

워크스테이션으로 유명했습니다.

필자는 대학때 32비트 컴퓨터를 소유하게 되었습니다.

 

4바이트 형식[ 32비트 운영 체제]  

 

 부호부 1bit(31)  정수부 31bit(0~31)

 

 

양수와 음수의 표현에 대해서는 부호 있는 정수와 부호 없는 정수를 아래에서 설명 할때 자세히 설명하도록 하겠습니다. 

 

정수형은 2가지로 나뉘게 됩니다.

 

문자를 표현하기 위해서 사용하는 문자형 정수 

숫자를 표현하기 위해서 사용하는 일반형 정수 

 

각각의 정수형은  부호가 있는 형과(signed) 부호가 없는 형(unsigned)으로 각각 표현됩니다.

우리가 일상에서 1이라고 하면 양의 정수를 의미합니다. +1 과 1은 같은 뜻이되고 음의 정수는 숫자 앞에 - 기호를 붙여 표현 합니다.

 

변수의 타입도 일반형은 부호 있는형이 기본으로 생략이 가능합니다. 하지만 부호가 없는 형은 특수한 형태로 꼭 unsigned 라는 기호를 같이 붙여줘야 부호없는 정수로 인식해서 처리됩니다.

 

부호가 있는 정수형으로 표현 가능한것은  음의 정수, 0, 양의 정수를 표현하고

부호가 없는 정수형은 0 과 양의 정수만을 표현합니다.

 

 

문자형 정수

 

문자형 정수는  Character[문자]를 뜻합니다.

타입은 Character을 줄여서 Char(캐릭터 타입) 이라 부릅니다.

 

즉 문자형 정수란 문자에 해당하는 아스키코드(ASCII)값을 저장하기 위한 자료형 입니다. 아스키 코드표는 변수와 상수에서 한번 보셨죠? 기억 안나시는 분을 위해 여기에도 한번도 보여드리도록 하겠습니다.

 

(사진을 클릭하시면 큰 이미지를 보실수 있습니다)

 

위표에 나오는 수치중에 ASCII문자 라고 되어있는 부분이 바로 문자형 정수가 표현하는 문자들 입니다. 어 문자인데 왜 정수라고 하지? 라고 하는 분들이 있으실겁니다. 이러한 의문이 당연한것입니다.

 

앞 장에서 메모리에 기억되는 수치는 모두 숫자라고 했습니다. 그렇기 때문에 변수에 기억되는 값은 정수인것 입니다. 아래의 설명은 위표를 참조해서 보시면서 보십시요.

 

ASCII문자표에 있는 '0' 이라는 문자가 변수에 저장이되면

10진수로 표현 했을때 48 이라는 숫자로 표현됩니다.

16진수로 보면 0x30입니다.

 

즉 내부에 저장된 숫자를 문자로 표현 할 때 위의 표를 기준으로 48이 저장되어 있으면 문자로 '0'을 화면에 출력해주는 것입니다.

 

문자형 정수란 내부에 저장된 숫자를 ASCII표에 매칭시켜서 문자형태로 표현하기 위해서 사용되는 자료타입 인것입니다.

 

이제 왜 문자형 정수라고 표현 하는지 아시겠죠?

문자를 표현하기 위한 용도이지만 내부적으로는 정수값을 저장하고 있기 때문에 문자형 정수라고 하는것입니다.

 

일반 정수형

 

일반 형정수는 세가지로 분류 됩니다. 

 

short int  , short  : short 와  short int 는 같은 뜻으로 짧은 정수를 의미 합니다.

int      : integer의 줄임 말로 정수를 의미 합니다.

long int , long : long와 long inr는 같은 뜻으로 긴 정수를 의미합니다.

 

정수를 이렇게 나뉜것은 16비트 운영체제 까지는 의미가 있었지만 32비트 운영체제로 넘어오면서 long int 와 int의 의 의미가 좀 퇴색 되기는 했습니다. 64비트 운영체제에서는 그 의미가 더욱 반전스러운데요 이건 아래의 타입 종류에 따른 크기에서 다루도록 하겠습니다.

 

정수형은 말그대로 정수를 표현 하기 위해서 사용되는 타입니다.

정수는 음의 정수 ,0 , 양의 정수를 모두 정수 라고합니다.

 

수로 표현하면 -1, 0 ,1, 0x16, 08, 0000 0010 이러한 정수들을 표현하기 위해서 사용되는 타입입니다.

 

아주 직관적이기 때문에 더이상 설명이 필요없습니다.

 

실수형(IEEE 754 표준 )

 

실수형의 표현은 부동 소수정 방식으로 부호부 , 지수부, 가수부로 나누어서 표현하게 됩니다. 부동 소수점 데이터 형식은 컴퓨터 내에서 실수를 표현하는 형식으로 표현 형식은 4바이트 단정도 실수형과 8바이트 배정도 실수형이 있습니다. 

 

 

부호부 : 양수이면 0을 사용하고 음수이면 1을 사용합니다.

지수부 : 지수를 2진수로 사용합니다.

가수부 : 소수점 이하 10진수로 표현된 유효 숫자를 2진수로 변환하여 사용합니다.

 

단정도 실수형 (Single Precision ) : float  

 

 

4바이트[32비트] 단정도 실수형 : 4 바이트

 

 부호부 1bit사용(31)  지수부 8bit사용(23 ~ 30)  가수부 23비트 사용(0~22)

 

부호부(Significant) : 1비트를 가지며 부호비트(MSB)입니다. 양수 0 , 음수 1로 표현됩니다. 

 

지수부(Exponent) : 8비트를 가지며 지수로 표현되는 수는  -126 ~ 128까지 표현됩니다. 바이어스(bias)는 127을 사용합니다. 지수도 양수와 음수를 구별해서 나타 낼 수 있어야 하는데 양의 지수와 음의 지수를 표현하기 위해 바이어스(bias)를 사용합니다. 8비트의 공간은 0 ~ 255사이의 값을 저장할 수 있기 때문에 이중에 절반인 127을 중간값으로 정의하고 사용합니다. 한마디로 부호 있는 수로 표현하면 -128 ~ 127까지의 사이값중  0에 해당하는 수가 단정도(32비트) 부동소수점 형식에서는 127(bias)가 되는것입니다.

 

 :  2의 지수 5에 바이어스(bias) 127을 더한 수 132를 2진수로 바꾸어서 지수에 저장하게 됩니다. 132는 2진수로  1000 0100 입니다. 이수를 지수부에 저장합니다.

 

: 2의 지수 -5에 바이어스(bias) 127을 더한수 122를 2진수로 바꾸어서 지수에 저장하게 됩니다. 122는 2진수로 0111 1010입니다. 이수를 지수부에 저장합니다.

 

가수부(Mantissa) : 23비트를 가지며  가수의 표현에 사용합니다. 가수에 저장될 데이터는 2진수를 정규화(Normalization)을 해서 표현합니다.

정규화를 한다는 말은 여러가지의 표현 방식을 하나로 통일 한다는 것입니다.

10진수 7을 표현 하는 방법은 여러가지로 표현 됩니다. 

 

 

 

위의 표현 방법은 모두 7을 표현한 방법입니다. 이 방법중 정규 부동 소수점에서 정규화된 표현법은  지수를 이용한 표현 으로  7.0 × 100 입니다. 

 

가수의 형태는 2진수로 표현된 수를 2의 지수의 형태로 바꾸어서 1.xxxxxxxx 형태로 바꾸어 정규식으로 표현해줍니다. 이렇게 바뀐수중 1을 제외한 수를 가수부에 저장하게 됩니다. 

 

컴퓨터에서 1.0 을 표현 할 필요가 없어지고 실제로도 표현하지  않음으로써 1bit를 더 사용 할 수 있어서 오차를 조금더 줄 일수 있게 됩니다.

 

이제 예를 들어서 실제로 10진수로 표현된 단정도(32bit) 부동소수점을 2진 부동소수점으로 변환해 보도록 하겠습니다.

 

10.15을 32bit 부동소수점 표현방식에 따라 저장되는 방법 과 과정을 예제로 풀어보도록 하겠습니다. 

 

1. 주어진 소수를 2진법으로 표현한 2진수로 변환 한다. 

소수에 대한 2진법 변환을 모르시는 분은 진법변환의 10진수 실수 2진수로 변환을 보고 아래 강좌를 진행하시기 바랍니다.

 

https://codingducks.tistory.com/6

 

2. C언어 기초강의 진법변환의 필요성

아래 사항을 보시기 전에 영상 하나 보시고 보시면 조금더 이해가 되실것이라 생각합니다. https://youtu.be/QZiKarK_Ss8 진법변환의 필요성 컴퓨터는 내부적으로 0과 1로 표현이 됩니다 실제 컴퓨터 메

codingducks.tistory.com

 

10.15을에서 10을 2진수로 표현 하면  1010이됩니다. 0.23을 2진수로 변환하면 010011001100110011(2)이됩니다.

10.15(10) = 1010.010011001100110011(2)가됩니다.

 

부호비트 : 양수 이기 때문에 0 입니다.

 

1010.010011001100110011(2)을 지수부 와 가수부로 분리합니다.

지수부와 가수부로 분리하기 위해서는 2의 승수 형태로 변환합니다.

소수점이 왼쪽에서 오른쪽으로 이동하면 -를 곱한지수가 되고 오른쪽에서 왼쪽으로 이동하면 -를 곱한 지수가 됩니다.

 

위의 소수점은 오른쪽에 왼쪽으로 (음의영역쪽으로)3칸 이동했기 때문에 지수는  * 
의 현태가 됩니다.

 

이것으로 지수와 가수를 얻었습니다.

이제 지수를 계산하겠습니다.

 

2. 지수에 대한 계산을 한다. 

 

지수부 : 지수부의 바이어스(bias)는 127이라고 했습니다.

지수는 3이니 127 - 3 이되서 124가됩니다.

124는 2진수로 0111 1100 이됩니다.

 

그래서 지수부는 0111 1100 이됩니다.

 

3. 가수에 대한 계산을 한다. 

 

가수부 : 가수부는 1.xxxx형태를 취한 형태에서 1.0을 제외한 나머지 수가 됩니다.

그래서 가수부는 0100 1001 1001 1001 1001 1... 이됩니다.

 

10.15를 단정도(32bit) 부동소수점으로 변환하면

 

1비트의 부호비트와 11비트의 지수부, 52비트의 소수부로 이루어져있다.

 

배정도 실수형(Double Precision )  : double , long double

 

8바이트[64비트] 배정도 실수형 : 8바이트

 

 부호부 1bit사용(63)  지수부 11bit사용(52 ~ 62)  가수부 55bit사용(0 ~ 51)

 

부호부(Significant) : 1비트를 가지며 부호비트(MSB)입니다. 양수 0 , 음수 1로 표현됩니다. (단정도와 동일)

 

지수부(Exponent) :  11비트를 가지며 지수로 표현되는 수는 -1022 ~ 1024까지 표현됩니다. 바이어스(bias)는 1023을 사용합니다. 11비트의 공간은 0 ~ 2046의 값을 가진다. 2047로 총 2048개로 생각할수 있지만 2047은 에러처리된다. -1022 ~ 1024의 지수값중

0승에 해당하는 수가 배정도(64비트) 부동소수점 형식에서는 1023(bias)가 됩니다

 

 

 :  2의 지수 5에 바이어스(bias) 1023을 더한 수 1028를 2진수로 바꾸어서 지수에 저장하게 됩니다.

 

: 2의 지수 -5에 바이어스(bias) 1023을 더한수 1018을 2진수로 바꾸어서 지수에 저장하게 됩니다.

 

가수부(Mantissa) : 52비트를 가지며  가수의 표현에 사용합니다. 나머지는 32비트 단정도와 동일합니다.

 

값의 표현은.. 2 ^ (지수부-1023) + 소수부 * 2 ^ (지수부-1023-52) 이고, 부호가 1 이면 음수다.

 

64비트 배정도의 표현법은 생략하도록 하겠습니다. 32비트 단정도만 응용하면

충분히 가능하시리라 생각됩니다. 

 

변수 타입의 종류 , 표현 가능범위

 

컴퓨터 메모리의 최소 표현 단위는 bit 입니다. 프로그래밍에서 변수를 표현하기 위한 최소크기는 byte입니다. 변수는 byte단위로 선언합니다. 1,2,4 이렇게 2진수의 크기로 표현합니다. 1byte는 2의 7승으로 표현가능한 값은 256개 입니다.

 

1. 2의 0승은 1,

2. 2의 1승은 2 ,

3. 2의 2승은 4,

4. 2의 3승은 8 ,

5. 2의 4승은 16,

6. 2의 5승은 32,

7. 2의 6승은 64,

8. 2의 7승은 128 ,

9. 2의 8승은 256,

10. 2의 9승은 512,

11. 2의 10승은 1024까지 표현이 가능합니다.

2의 10승까지는 기본적으로 외우시는게 좋습니다. 많이 사용됩니다.^^

 

여기에서 1바이트까지의 자리까지의 수를 모두 더해보면

1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255; 입니다. 0부터 세어보면 0 ~ 255까지 256개의 숫자를 표현할수 있습니다.

 

문자를 표현하기 위한것이 128개 0~127이니 1byte면 충분히 표현이 가능한것입니다.

 

그리고 1byte를 사용하는 가장 큰 이유는 부호가 있냐 없냐에 따라서 쓰임이 다르기 때문입니다.

 

컴퓨터의 양수 와 음수를 표현한 표입니다.(1byte기준) 2진수 양수 와 음수는 보수의 형태를 취하고 있습니다.  보수에 대한 부분을 보시지 못하신 분은 아래 링크를 먼저 읽어 보시고 진행해 주세요

 

보수 : http://blog.naver.com/jerokill/20198389447

 

서로 더해서 0이 되는수가 보수입니다. 컴퓨터에서 보수를 사용하는 이유는 음수를 양수로 표현하기 위해서 라고 했습니다.

 

그래서 아래와 같은 표로 표현이 됩니다.

 

부호 있는 정수 (signed) 는 부호를 생략해서 사용한다고 했습니다. 1과 , +1은 같은 의미라는 것입니다.  -1의 부호를 생략하면 전혀 다른 의미가 되기 때문에 생략이 불가능합니다.

 

1byte로 표현 한것은 127까지 입니다. 128은 은 8번째 자리수를 1로 사용하게 되는데

이것은 부호있는것과 없는것에 따라 달라집니다.

 

아래는 부호 있는 정수형에 대한 표현입니다.

 

 

위의 표에서 MSB(Most Significant Bit) 최상위 부호비트에 대해서 언급했습니다.

 

1byte 8비트를 표현 할때 위와 같이 표현 되는것은

 

위의 표와 같이 부호있는 형태는 최상위 비트를 부호로써 표현 하고 나머지 7자리를 숫자로 사용하게 됩니다. 그렇기 때문에 부호 있는 정수는 127까지 사용됩니다.

 

위의 표에서 보면 0 부터 증가한 10진수의 값이 127이 되었을때 2진수는  0111 1111이 됨을 알수 있습니다.  그리고 1일 증가 했을때  

 

   0111 1111

+ 0000 0001

------------

  1000 0000 이됨을 알수 있습니다. 

 

최상위 비트는 부호로 써 사용이 된다고 하였습니다. 그렇기 때문에  1000 0000 은 십진수로 표현하면 128이 되는데 최상위 비트가 1이 되기 때문에 -128로 표현 되는것입니다.

 

여기에서 수를  증가하면 -127. -126. -125.... -1. 0. 1 이렇게 순환하게 됩니다.

 

음수는 -128 ~ -1까지 총 128개로 표현되는 것 입니다.

 

그럼 1byte 부호있는 정수형은

 

음수 표현 : - 128  ~ -1 까지 총 128개  표현

양수 표현 : 0 ~ 127 까지 총 128개 표현

 

음수 와 양수의 개수를 합치면 총 256개를 표현 가능합니다. 그래서 프로그래밍에서 1byte를 최소단위로 사용하는것입니다.

 

아래는 부호 없는 정수의 형에 대한 표현입니다.

 

 

 

부호없는 정수형과는 부호를 구분하지 않기 때문에 최상위 비트 MSB를 표현 할 필요가 없습니다. 그래서 0111 1111에서 증가하면 1000 0000 으로 그냥 128이 되는것입니다.

이렇게 표현 할경우 8비트가 모두 1인수로 1111 1111이 최대표현 가능한 수인데요

10진수로 표현 하면 255입니다.

 

 

각 자료형의 타입별 크기

 

프로그래머 라면 당연히 외워야 하는 타입별 크기 입니다.

 

int자료형은 운영체제에 따라서 크기가 달라지는 자료형 입니다.  

 

int자료형의 운영체제별 크기 입니다.

 

 

16 bit CPU:

  - short int : 16bit

  - int : 16bit

  - long int : 32bit

 

32 bit CPU:

  - short int : 16bit

  - int : 32bit

  - long int : 32bit

 

64 bit CPU:

  - short int : 16bit

  - int : 32bit(운영체제에 따라서 64bit로 처리될수 있다. )

  - long int : 32bit( 운영체제에 따라서 64bit로 처리되거나 설정으로 64bit로 처리할수 있다.)

 

컴퓨터는 자신의 기본 bit에 맞춰서 메모리를 연산하는 것을 좋아합니다. 그래서 int자료형을 bit에 맞춰서 유동적으로 변하게 됩니다.

 

정수형의 기본은 int형입니다.  

 

문자를 표현 한다. char형을 선택하시면 됩니다.

정수(숫자)를 표현한다. int형을 선택하시면 됩니다.

실수형을 표현한다. double형을 선택하시면 됩니다.

 

short 형 , float형 , long형은 상황에 따라서 판단하시면 됩니다. 

 

위의 표를 외워야 하는이유는 값의 표현가능 범위를 넘어가게 될 경우 의도치 않은 결과가 발생하기 때문 입니다.

 

short num = 32768; 이렇게 정수형을 대입했다고 가정하면

 

num이 표현 가능한 범위는 부호있는 정수형으로 32767까지입니다. 그런데 32768을 대입했기 때문에 -가되면서 -32768이 됩니다.

 

의도한 값은 양의 정수 32768이지만 정작 변수가 저장하고 있는 데이터는 -32768이 되어서 연산이 제대로이루어 지지않고 의도한 결과가 나오지 않습니다.

 

그렇기 때문에 최소한 위의 표는 기억을 하셔야 하는 것입니다. 

 

[ 타입 별 사이즈 출력 소스 ] 

/*
    Exam_006 : 타입 별 크기

    FileName : typesize.c
*/

#include <stdio.h>

void main(void)
{
    //////////////////////////////////////////////////////////////////////////
    //< 각타입의 크기 출력
    printf("각 타입의 크기 출력(단위 : byte ) \n");
    printf("============================================\n");
    printf("정수형 타입\n");
    printf("char : [ %d ]\n",sizeofchar ));
    printf("signed char : [ %d ]\n",sizeofsigned char ));
    printf("unsigned char : [ %d ]\n\n",sizeofunsigned char ));

    //< 짧은 정수 변수 선언
    //< short 와 short int은 동일한 표현입니다.
    printf("short : [ %d ]\n",sizeof( short ));
    printf("short int: [ %d ]\n",sizeof( short int ));
    //< signed short 와 signed short int은 동일한 표현입니다.
    printf("signed short : [ %d ]\n",sizeofsigned short ));
    printf("signed short int : [ %d ]\n",sizeofsigned short int ));
    //< unsigned short 와 unsigned short int은 동일한 표현입니다.
    printf("unsigned short : [ %d ]\n",sizeofunsigned short ));
    printf("unsigned short int : [ %d ]\n\n",sizeofunsigned short int ));

    //< 일반 정수 변수 선언
    //< int 와 signed int는 같은 표현입니다.
    printf("int : [ %d ]\n",sizeofint ));
    printf("signed int : [ %d ]\n",sizeofsigned int ));

    printf("unsigned int : [ %d ]\n\n",sizeofunsigned int ));

    //< 긴 정수 변수 선언
    //< long 와 long int는 같은 표현 입니다.
    printf("long : [ %d ]\n",sizeoflong ));
    printf("long int : [ %d ]\n",sizeoflong int ));
    //< signed long 와 signed long int은 같은 표현입니다.
    printf("signed long : [ %d ]\n",sizeofsigned long ));
    printf("signed long int : [ %d ]\n",sizeofsigned long int ));
    //< unsigned long 와 unsigned long int은 같은 표현입니다.
    printf("unsigned long : [ %d ]\n",sizeofunsigned long ));
    printf("unsigned long int : [ %d ]\n\n",sizeofunsigned long int ));

    //////////////////////////////////////////////////////////////////////////
    //< 실수형에 대한 선언 방법
    printf("실수형 타입\n");
    //< 단정도 부동소수점 실수변수 
    printf("float : [ %d ]\n",sizeoffloat ));

    //< 배정도 부동소수점 실수변수
    printf("double : [ %d ]\n",sizeofdouble ));
    //< 긴 배정도 부동소수점 실수변수
    printf("long double : [ %d ]\n",sizeoflong double ));
    printf("============================================\n");

 [ 출력 결과 ]

 

변수 선언 방법

 

 

코딩덕후 : 네이버 카페
코딩을 조금 더 쉽게 재미있게 배우기 위한 까페입니다. C언어/Win32Api/C++/파이썬등을 유투브로 배우세요
https://cafe.naver.com/coducks

 

코딩덕후 : 네이버 카페

코딩을 조금 더 쉽게 재미있게 배우기 위한 까페입니다. C언어/Win32Api/C++/파이썬등을 유투브로 배우세요

cafe.naver.com

 

유투브 강의 

https://youtu.be/Gk9-LvszFSw

 

728x90
반응형
LIST

댓글