呵呵,其实综合上面说的就很清晰了,const int *说明指针指向的是一个常量,int * const ptr说明指针也是常量. 另外书中没有讲的const int p和int const p有没有区别,我方现在VC++的编译器下面是没有区别的.看来,我们只需要单独记忆指针的不同声明就可以了....
后者则只表示指针指向一个常量对象,这样可以防止使用ptr来修改所指向的值,即,*ptr的值为const,不能被修改,这样可以避免由于无意间修改数据而导致的编程错误。这种可以这样理解:const修饰符离谁近修饰的就是谁,离ptr近说明修饰的指针,那么指针的指向的位置不能改变,离int近说明修饰的是指向的值,那么指向的值就不...
61.下列说明中 const int* const ptr;ptr应该是A指向整型常量的指针变量B指向整型变量的指针常量 A. 指向整型变量的指针变量 B. 指向整型常量
int * const :指向 int 的 const 指针。 int const * const :const 指向 const int 的指针。 const可以在类型的任一侧,如下: const int * == int const * const int * const == int const * const 2、常量引用 对变量(此处为 int)的引用,该变量是常量。主要是将变量作为引用传递,因为引用的大小比实...
78.下列说明中 const int* const ptr;ptr应该是A指向整型常量的指针变量B指向整型变量的指针常量C指向整型变量的指针变量D指向整型常量的指针常量
1️⃣ `const int* ptr1`:这是一个const指针,它指向的内容是常量,不能通过它来修改变量的值。但是,你可以通过变量本身来修改它的值。这种指针类型通常用于保护数据,确保不会意外地修改它。2️⃣ `int* const ptr2`:这是一个指针const,它的值是常量,不能修改为指向其他地址。但是,你可以通过它来修改...
1. const int *ptr = NULL; <=> int const *ptr = NULL; 1) 表示指向符号常量的指针变量,指针变量本身并非const所以可以指向其他变量。 2) const 的作用可以看作是“禁止通过*ptr"来改变被ptr指向的变量的值,但被指向的变量 其本身能否改变需要看其定义。
ptr 此时ptr是指向int的指针。加上const后,const修饰并封锁ptr 。即ptr的指向不可改变。
int* const ptr ; *号右边的const表示指针不能改变其自身的指向,即常指针,固定指向一个地址,需要在声明的时候初始化。。比如:int a = 2, b = 3;int* const ptr;//错,必须初始化。。int* const ptr = &a;ptr = &b;//错,指向不能改,固定一个地址。。ptr = 5;//对,内容...
const int* ptr; // 指向的数据不可变 const 在 * 右侧:修饰指针本身(顶层 const)。int* const ptr; // 指针的指向不可变 5. 常见用法场景 保护函数参数:防止函数内部修改外部数据。void print(const int* arr, int size) { // arr[i] 只读,无法修改 } 返回常量指针:防止调用者修改返回值指向的数据...