상세 컨텐츠

본문 제목

C/C++ Variables And Types

개발생활/C C++

by 한국인맛집 2021. 3. 13. 22:29

본문

반응형

모든 강의자료는 아래의 자료를 인용하였습니다.

 

자세한 내용은 아래 Documents 를 확인하시면 됩니다.

www.cplusplus.com/doc/tutorial/

 

C++ Language - C++ Tutorials

 

www.cplusplus.com

 

 

타입


 

프로그래밍에서 값을 표현하거나 저장하기위해선 변수를 이용하여 컴퓨터의 메모리를확보 해줘야 한다.

 

변수를 선언( 만들기) 위해서는 아래와 같은 타입을 지정해 줘야 한다.

 

기본 적인 타입은 아래와 같다. 또한 컴퓨터 시스템 , 컴파일러 환경에 따라 아래 내용은 조금 다를수있다.

 

 

※ 변수 타입

 

케릭터 타입 Type Names Size
케릭터 타입 char 1 byte = 8bit
char16_t 2 byte
char32_t 3 byte
정수형 타입 (부호있는) signed char 1 byte
 short 2 byte
int 4 byte
long 4 byte
long long  8 byte
정수형 타입 ( 부호가 없음) unsigned char 부호있는 타입과
같은 사이즈를 가지고 있다.
unsigned short
unsigned int
unsigned
unsigned long
unsigned long long
실수형 데이터타입 float 4 Byte
  double 8 Byte
정밀도는 float 이상.
  long double
정밀도는 double 이상
Boolean Type bool 1 byte
void Type void 저장공간을 가지지않는다.
Null pointer nullptr  

 

본인 컴퓨터 컴파일러나 운영체제 환경에따라 다를수있습니다.

 

아래코드를 작성하여 직접 변수의 메모리 공간을 한번 확인해봅시다.

 

//  C Sytle

#include<stdio.h>

void main(){

   printf("Size Of Char %d \n",sizeof(char));
   printf("Size Of int %d \n",sizeof(int));
   printf("Size Of float %d \n",sizeof(float));
   printf("Size Of bool %d \n",sizeof(bool));

}

 

//  C++ Sytle
#include<iostream>
using namespace std;

void main(){
    cout<<"Size Of Char "<<sizeof(char))<<endl;
    cout<<"Size Of int "<<sizeof(int))<<endl;
    cout<<"Size Of float "<<sizeof(float))<<endl;
    cout<<"Size Of bool "<<sizeof(bool))<<endl;
}

 

 

 

 

타입설명


 

* Default : Signed Type

* 컴파일, 운영체제 환경에 따라 저장되는 메모리 공간은 다를수있습니다.

 

 

 

*문자형

 

- 케릭터 타입은 1개의 글자만 오직 저장할수 있습니다. 예를들어 'A', '#' 과같은 ASCII코드를 저장할때 사용됩니다.

 

*주의사항 한글은 저장이 불가능하며 케릭터타입 데이터를 저장하기위해선 ' '  콤마를 사용하여 저장할수 있습니다.

 

1Byte 의 메모리공간을 저장할수 있습니다.

 

void main(){
    char alphaA = 'a';   // 사용가능!
    char badVar = "B"  // 사용불가! , 쌍콤마를 사용하면 문자열로 판별하기때문에 에러
}

 

*정수형

 

- 정수 타입은 정수값을 받아 저장합니다. 4byte 의 메모리 공간을 저장할수 있습니다.

 

int , short, long, unsigned int, insigned, long, long 등이 있습니다.

 

*unsigned 

 

usigned : 부호가 없는 상태로 데이터를 저장할수 있습니다.

 

signed : 부호가 있다. (Defualt) unsigned 를 붙이지 않는다면 기본적으로 signed형태의 타입이 결정됩니다.

 

 

사용방법은 아래와 같습니다.

void main(){
    
    int number = 10;
    unsigned int number = 120;
    
    short sNumber = 200000;
    long lNumber = 1003002;
    
}

 

* 실수형 (부동소수점)

 

 - 실수 타입은 실수값을 받아 저장합니다.

 

4Byte의 메모리 공간을 저장할수있습니다.

 

float, double , long double 등 이 있습니다.

 

 

사용방법은 아래와 같습니다.

void main(){
    
    float a = 0.8f;
    double pi = 3.141592f;
    
}

 

* 보이드 형

 

void형은 빈, 값이 없는 형태입니다.

 

* 일반적으로 변수의 타입보단 함수에 사용됩니다.

 

사용방법은 아래와 같습니다.

void foo();


void main(){
   
}

void foo(){

}

 

* 불 형

 

bool 형은 논리의 참 거짓값을 저장합니다.

저장할수 있는값은 true, false 값을 저장할수 있습니다.

 

true = 1, false = 0 값으로 

수치 표현값을 받을수 있습니다.

 

다만. 사용할때 0,1 로 표현하는건 코드 를 읽어가는 과정에 햇갈릴 여지가 존재하므로 변수에 맞게 값을 저장하는 것이 중요합니다.

사용방법은 아래와 같습니다.

void main(){
	
    bool isTrueValue = true;
    
    if(isTrueValue){
    	printf("Is True");
    }
    else{
    	printf("Is false");
    }
}

 

 

* null

 

null 값은 값이 없는상태로 생각하시면 됩니다.

 

null은 C/C++에서 사용할때 타입에따라 다릅니다.

 

정수형 타입은 매크로로 정의된 NULL 키워드를 사용하고, character 타입은 '\0' 를 사용합니다.

 

포인터 형변수는 nullptr 즉 아무것도 가리키고있지않은 상태를 말합니다.

 

* 포인터관련된 내용은 나중에 한번더 설명할 예정이니 지금은 잘몰라도됩니다.

 

사용방법은 아래와 같습니다.

void main() {
    int integerValue = NULL;
    // 일반 변수에서 NULL처리는 매크로 정의되어있어 NULL로 사용한다.
    char characterValue = '\0';
    // 케릭터 변수는 다음과같이 초기화 가능합니다.
    int *pointerValue = nullptr;
    
}

 

변수의 선언 과 초기화.


 

변수(Variables Number)

 

변수는 데이터를 저장하기위한 공간이라고 생각하시면 되겠습니다.

 

변수를 사용하기위해선 공간을 받아야 하며, 또한 변수의 타입을 명확하게 지정해줘야합니다.

 

예를들어 '100' 값을 출력해야 할때, 최소 정수형타입으로 공간을 배정받아 사용해야합니다.

케릭터 타입이나 실수타입 등 정수타입과 맞지않는 데이터타입으로 저장하게된다면, 정확한 값을 저장되지 않을것이며, 원하는 값을 얻을수 없을것입니다. 즉 변수를 사용하기 위해서 필요한공간, 타입을 명확히 정하는것이 중요합니다.

 

 

변수 이름 설정

 

변수를 선언할때 주의사항이있습니다.

 

- 변수의 앞에 숫자를 사용할수 없습니다.

- 변수는 대소문자를 구분하며 같은 number , Number 는 다른 변수입니다.

- 변수는 한글을 사용할수없고, 영문자로 작성하여야합니다.

- 변수의 이름은 #, main, int , float , char 와같이 이미 예약어로 되어있는 내용은 사용할수 없습니다.

 

아래는 사용할수 없는 내용이므로 숙지하셔야합니다.

void main(){
   // 사용 할수 없는 변수 네이밍.
   int int;
   float float;
   char char;
   int main;
   int #hashTag;
   double 12300man;
   
}

 

 

선언 ? 초기화?

 

변수를선언하는것은 값을 넣지않은 상태 변수만 만들어진상태를 선언이라고합니다.

 

변수의 초기화는 값을 바꿔주는것을 초기화 라고합니다.

 

void main(){
    //변수의 선언
    int numberA;
    // 변수값을 초기화
    numberA = 10; 
    
    //변수의 선언과 초기화
    int numberB = 20;
    

}

 

 

 

다음코드는 2개의 수의 합과 차를 출력해주는 문장입니다.

 

 

C style

#include<stdio.h>

void main(){
   int a = 10 ,b = 20;
   int result;
   
   result = a+b;
 
   printf("%d + %d = %d\n",a,b,result);
   fgetc(stdin);
}

 

printf() 함수에 대해선 우선 다음과같이 사용하면 됩니다. 설명은 추후에 하도록하겠습니다.

 

C++ Style

#include<iostream>

using namespace std;

void main(){


   int a(10);
   int b{30};
   
   int result;
   
   result = a+b;
   
   cout<< a <<" + "<< b <<" = "<<result<<endl;
}

 

반응형

'개발생활 > C C++' 카테고리의 다른 글

Basic Input & output  (0) 2021.03.14
C/C++ Constant  (0) 2021.03.14
C/C++ Operators  (0) 2021.03.13
IDE Tool 설치. (Visual Studio 2019 install)  (0) 2021.03.01
C/C++ multi Thread  (0) 2017.10.17
static used in class C++  (31) 2017.09.05

관련글 더보기