const 在*右边 ( 指针常量 | const 修饰的是变量 ) :const 修饰的是 指针变量 , 如char * const d, const 修饰的是char *, 指针不能被修改 ; 这是 指针常量 ; const 在*左边 ( 常量指针 | const 修饰的是数据类型 ) :const 修饰的是 指针变量 指向的内存空间 , 如const char *c, const 修饰的...
//const int *p = &a; //表示 *p 值不能发生改变否则 error: assignment of read-only location '* p' //*p = 30; //这么写就是错的 return 0; } /* 输出: a = 20 a = 30 */ 2.intconst*p const和int可以互换位置,所以intconstp 和 *const**int*p 二者是等价的; 3.int*constp 此时con...
防止指针误用:若希望指针本身不变,可以加const(如int *const ptr),避免在函数内部修改指针指向的地址。 ★假设我们有一个函数,传入的是一个指针int *ptr,以下是加上const的几种不同情况: 1.const int *ptr或int const *ptr 含义:指针ptr所指向的内容是常量,不能通过ptr来修改这个内容,但指针ptr本身可以指向...
在这个例子中,print_array函数接受一个指向const int的指针作为参数,这意味着这个函数不会修改传入的数组。5.在结构体和联合中使用const:const也可以用于结构体和联合的成员,以保护这些成员不被修改。总的来说,const关键字在C语言中提供了一种机制来声明只读变量和指针,从而提高了代码的可读性、可维护性和安全...
const int *ptr1;int *const ptr2;ptr1 是一个指向常量整数的指针,即指针指向的整数值不能被修改,但指针本身可以被修改。而 ptr2 是一个指向整数的常量指针,即指针本身不能被修改,但指针指向的整数值可以被修改。4. 函数返回值为 const const char *getMessage() { return "Hello, world!";} 在...
1)指向非常量数据的非常量指针:具有最高访问权。允许通过指针复引用来修改数据并能够通过修改指针使它指向其它数据项。把非常量指针传给非常量数据不包含关键字const。这种指针可能会用来接收一个字符串参数,函数然后用指针算法处理(可能是修改)字符串中的每一个字符。例子说明如下,该函数将一个小写的字符串转换成大写...
// 通俗解释:f 函数说,你给我一个指针,我保证我在我的函数内部不会去动这个指针所指向的变量的值。 void f(const int* x); int a = 15; f(&a); // ok const int b = a; f(&b); // ok b = a + 1; // Error!!! 1.4.2 解答 当要传递的参数的类型比地址大的时候,这是常用的手段:...
const的完整拼写为constant,意思是常量;C语言中的const关键字一般用于声明常量,即不可修改的变量。它可以用于修饰变量、指针以及类的成员函数。1.修饰变量:当const修饰变量时,表示该变量的值是不可修改的,即为常量。例如:const int a = 5;2.修饰指针:const可以修饰指针,分为指向常量的指针和常量指针。指向...