>  기사  >  백엔드 개발  >  const의 사용법은 무엇입니까?

const의 사용법은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-06-20 11:38:584253검색

const의 사용법은 무엇입니까?

const의 사용법은 무엇인가요?

const 사용법은 다음과 같습니다.

1. const

int const size;
const int size;

의 일반적인 사용법 두 문 모두 size를 정수로 선언하며 해당 값은 수정할 수 없습니다.

선언할 때 초기화할 수 있습니다.

int const size =10;

잘못된 사용법:

const int size =10;
char buffer[size];  

오류는 크기가 특정 메모리 블록을 차지하고 C 컴파일러가 컴파일하는 값을 알 수 없다는 것입니다. 게다가 C에서는 기본적으로 const가 외부로 연결되어 있으므로 const로 작성해도 괜찮습니다.

2.const는 포인터에 사용됩니다

(1)

const int *p;
int const *p;         //含义是指向常量的指针,指针的常量值不可以修改

둘 다 동일합니다. p는 항상 켜져 있는 정수에 대한 포인터입니다. 포인터의 값은 수정될 수 있지만 가리키는 값은 다음과 같습니다. 포인터로는 수정할 수 없습니다.

int b = 5;
int c = 3;
const int *p=&b;
*p=6;    //错误,不能通过指针修改所指向的值;
p=&c;    //正确,可以修改指针的值 

(2)

int * const p;   //含义是常量指针,p的值不可以修改

p는 포인터이고 포인터 p는 상수입니다. 그 값은 수정될 수 없지만 p가 가리키는 정수의 값은 수정될 수 있습니다.

int b = 5;
int c = 3;
int *const p = &b;
*p = 6;  //正确,可以修改指针所值向的值
p =&c;   //错误,不可以修改指针的值 

(3)

const int * const p;

포인터 자체와 포인터가 가리키는 값은 모두 상수입니다.

간단한 판단 방법:

const가 *의 왼쪽에 있으면 const는 포인터가 가리키는 변수를 수정하는 데 사용됩니다. 즉, 포인터는 비트 상수를 가리킵니다. * 의 오른쪽에 있으면 const는 수정된 포인터 자체입니다. 즉, 포인터 자체는 상수입니다.

3. 함수의 형식 매개변수에는 const가 사용됩니다.

void foo(const int * p)
const가 형식 매개변수에 사용되면 함수 내부에서 형식 매개변수가 변경되지 않는다는 의미입니다. 이 형식은 일반적으로 배열 형식 매개변수에서 값별 호출을 시뮬레이션하는 데 사용됩니다. 이것은 함수가 실제 매개변수 포인터가 가리키는 데이터를 수정하지 않도록 함수의 형식 매개변수를 제한하는 const의 가장 유용한 기능이기도 합니다. 여기서 주목해야 할 점은 기능을 수정해서는 안 된다는 것이지 수정할 수 없다는 것이 아닙니다.

4. 상수를 선언하는 다른 방법

C 언어에서는 enum 유형과 #define 매크로를 사용하여 상수를 정의할 수 있습니다.

#define MAX_SIZE 10;
int const max_size =10;

여기서는 const 변수를 사용하는 것보다 #define을 사용하는 것이 좋습니다.

전자는 배열 길이 선언과 같이 리터럴 상수가 허용되는 모든 곳에서 사용할 수 있습니다.

const 변수는 변수가 허용되는 곳에서만 사용할 수 있습니다.

추천 튜토리얼: "

c 비디오 튜토리얼

"

위 내용은 const의 사용법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.