달력

122024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

void 선언

karma( 업 )/C_C++ 2024. 4. 11. 09:01

C/C++ 에서 void type 은 '없음' 을 나타내는 특별한 타입이다.

이 것은 값 자체가 없음을 의미하기 때문에 L Value 가 될 수 없다. 

void a; //void는 값 자체가, 타입이 없기 때문에 선언할 수 없다. 메모리 할당이 불가능

void* pa; // void 포인터는 주소를 가리키는 것이기 때문에 L Value로 사용 가능

 

L Value는 object의 위치 값을 뜻하는 locator value라고도 한다. L Value는 object를 표기할 수 있다는 뜻이다.

void는 object가 없기 때문에 L Value가 될 수 업다.

 

 

 

 

 

 

'karma( 업 ) > C_C++' 카테고리의 다른 글

The Clockwise/Spiral Rule  (570) 2023.10.25
상수 포인터 & 포인터 상수의 차이  (1) 2023.10.25
C/C++ 프로그래밍을 잘하려면  (0) 2020.02.04
*& reference to pointer  (0) 2018.12.03
09. std::tuple( C++11로 가자 )  (0) 2018.11.01
Posted by 생짜
|

'karma( 업 ) > C_C++' 카테고리의 다른 글

void 선언  (0) 2024.04.11
상수 포인터 & 포인터 상수의 차이  (1) 2023.10.25
C/C++ 프로그래밍을 잘하려면  (0) 2020.02.04
*& reference to pointer  (0) 2018.12.03
09. std::tuple( C++11로 가자 )  (0) 2018.11.01
Posted by 생짜
|

const int*는 상수 포인터, int* const는 포인터 상수를 나타낸다.

const는 C++에서 변경 불가 keyword이다.

const가 붙는 위치에 따라 변수 선언이 다른 의미를 가진다.

const가 * 앞에 붙으면 상수 포인터, * 뒤에 붙으면 포인터 상수가 된다.

 

int* n;				// int형 포인터 변수
const int n = 10;   // n 이라는 value 값 자체를 변경 불가
const int* n;       // int형 상수에 대한 포인터, 데이터 상수화, int const* 와 동일
*n = 20;			// n의 주소값이 가리키는 value 값 변경 불가
int* const n;		// int형에 대한 포인터 상수, 포인터의 상수화, n의 주소값 변경 불가
const int* const n;	// n의 value와 주소값 모두 변경 불가, int const* const와 동일

 

상수 포인터 ( const int* //int const* )는 포인터 값은 변경가능하지만 포인터가 가르키는 주소에 있는 값은 변경이 불가능하다. 문자열 자체가 프로그램의 데이터 세그먼트에 있고 변경해서는 안되는 경우에 중요하다

'karma( 업 ) > C_C++' 카테고리의 다른 글

void 선언  (0) 2024.04.11
The Clockwise/Spiral Rule  (570) 2023.10.25
C/C++ 프로그래밍을 잘하려면  (0) 2020.02.04
*& reference to pointer  (0) 2018.12.03
09. std::tuple( C++11로 가자 )  (0) 2018.11.01
Posted by 생짜
|