본문 바로가기

c언어const2

C언어 - 포인터에 대한 const 선언 const 선언은 변수를 상수화하여 값이 변경이 되지 않도록 선언할 때 사용되었습니다. 그렇다면 포인터에 대해 const를 선언한다는 것은 무슨 의미일까요? 포인터 변수가 참조하는 대상의 변경을 허용하지 않는 const 선언 const int* ptr로 포인터 선언 앞에 const를 붙이는 경우, 포인터를 이용한 변수 값 변경이 불가능합니다. 따라서, 아래 *ptr = 30;은 불가능합니다. 그 이유는 const int* ptr = #과 같이 가장 앞에 const 선언을 했기 때문입니다. #include int main(){ int num = 20; const int* ptr = # *ptr = 30; //num = 30; return 0; } 결과: [Error] assignment of.. 2022. 5. 4.
C언어 #8 - 상수 (int, double, 접미사, const) C언어 상수 상수는 이름이 있는 상수와 없는 상수가 있다. 상수는 int, double과 같은 자료형을 근거로 표현된다. int main(void) { int num = 30 + 40; return 0; } 위 연산에서 30과 40은 상수이다. 또한 메모리에 존재한다. 메모리에 존재하기 때문에 연산이 가능한 것. - 정수 30과 40은 메모리 공간에 상수의 형태로 저장 - 두 상수를기반으로 덧셈 - 덧셈의 결과로 얻어진 정수70이 변수 num에 저장 num은 할당된 메모리 공간에 이름을 붙인 것인데, 30과 40 등은 메모리 공간에 이름이 없다. 이를 리터럴 상수 또는 리터럴이라고 한다. 메모리 상의 모든 데이터는 자료형이 정해져야 한다. int main(void) { int inum = 5; doubl.. 2022. 1. 1.