const 포인터
7394 단어 Const
1. 상수를 가리키는 포인터 변수: 선언 형식: const type * varname;또는 type const * varname;특징: 값 변경 가능.포인터를 const로 표시하고 포인터가 아닌 대상을 상수로 합니다.주의: 상수를 가리키는 바늘은 반드시 진정한 상수를 가리키는 것은 아니다. 변수도 가리킬 수 있다. 단지 이 바늘의 각도에서 볼 때, 그 바늘이 가리키는 대상은 상수이며, 이 바늘을 통해 가리키는 대상을 수정할 수 없다.초기화하지 않고 다른 객체를 가리킬 수도 있습니다.
예1:
int a = 0,b = 1;
const int c = 3;
const int* pi; // (const int*) pi;
pi = &a;
//*pi = 10; // : 。
a = 10;
pi = &b;
//*pi = 20; // : 。
b = 20;
pi = &c;
//*pi = 30; // : 。
예2:
char const* pc = "asdf";
//pc[3] = 'a'; // : 。
pc = "ghik";
char const* step[3] ={"left","right","hop"};
step[2] = "skip";
//step[2][1] = 'i'; // : 。
2. 일반 포인터 상수: 선언 형식: type* const varname;const (char*) pContent;특징: 변경 가능 대상.바늘 자체가 가리키는 대상이 아니라 상수로 표시하려면, 연산자 *const를 사용해서 초기화해야 합니다. 이 바늘을 통해 가리키는 대상을 수정할 수 있지만, 다른 대상을 가리키면 안 됩니다.
예:
int a = 0,b = 1;
int* const pi = &a; // int* (const pi) = &a;
*pi = 10;
//pi = &b; // :pi , 。
3. 상수를 가리키는 일반 포인터 변수: 선언 형식: const type * const varname;특징: 값과 대상은 모두 바꿀 수 없습니다.두 목표를 모두 상수로 하려면, 둘 다const라고 성명해야 한다.
예1:
int a = 0,b = 1;
const int c = 3;
const int* const pi = &a; // : (const int*)(const pi) = &a;
//*pi = 10; // : 。
a = 10;
//pi = &b; // : 。
일반적으로, 성명에 const 설명자가 나타날 때, 성명 요소나 const 구성원 함수 성명에 있는 함수의this 바늘을 수식합니다.주의: 변수의 주소를 상수를 가리키는 바늘 변수에 부여할 수 있습니다. 이로 인해 해가 되지는 않지만, 상수의 주소는 구속이 없는 바늘에 부여할 수 없습니다.예:
int a = 1;
const int c = 2;
const int* p1 = &c;
const int* p2 = &a;
int* p3 = &c; // !
*p3=3;
printf("%d
",c);//c
int* const p4 = &c; // ! p4 。
*p4=4;
printf("%d
",c);//c
const int* const p5 = &c;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
const 포인터포인터를 사용할 때는 포인터 자체와 포인터가 가리키는 두 가지 목표와 관련된다.const 포인터 변수는 다음과 같은 세 가지로 요약할 수 있다.상수를 가리키는 바늘 변수; 2.일반 포인터 변수; 3.상수를 가리키...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.