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에 따라 라이센스가 부여됩니다.