在这个例子中,print_array函数接受一个指向const int的指针作为参数,这意味着这个函数不会修改传入的数组。5.在结构体和联合中使用const:const也可以用于结构体和联合的成员,以保护这些成员不被修改。总的来说,const关键字在C语言中提供了一种机制来声明只读变量和指针,从而提高了代码的可读性、可维护性和安全...
- 声明带有const修饰的函数返回值的语法为:const 数据类型 函数名(参数列表)。const修饰符也可以修饰函数的返回值,返回值不可被改变。例如:const int Fun(void);在另一连接文件中引用const只读变量:extern const inti;//正确的声明 extern const intj=10;//错误!只读变量的值不能改变。注意这里是声明不是...
const char *getMessage() { return "Hello, world!";} 在这个例子中,函数 getMessage 返回一个指向常量字符数组的指针,表示返回的字符串是只读的,不能被修改。5. 保护不想被修改的全局变量 const int version = 1;在这个例子中,version 被声明为一个全局常量,其值不能被修改。6. 通过指针修改非 c...
有了 const,这个错误就 能在程序被编译的时候就立即检查出来,这就是const的好处。让逻辑错误在编译 期被发现。 const 还可以用来修饰数组 const char s[]=David; 与上面有类似的作用。 2、在函数声明时修饰参数 来看实际中的一个例子。 NAME memmove -- copy byte string LIBRARY Standard C Library (libc, ...
这里p被声明为一个函数指针,这个函数带一个char类型的参数,并且有一个int类型的返回值。另外,带有两个float类型参数、返回值是char类型的指针的指针的函数指针可以声明如下: char ** (*p)(float, float); 那么,带两个char类型的const指针参数、无返回值的函数指针又该如何声明呢?参考如下: ...
extern还可声明函数,eg:extern int fun(int a, int b);声明的外部函数可供其他文件调用,在C中,定义函数时省略extern,则隐含为外部函数。 别人问起,不能简单说const表示常数,这样会让别人觉得很外行。或许可以说是只读,其实也不完全正确。务必要弄清楚一下几个定义的含义: ...
1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数名后面 5.const 修饰函数参数 二.define 使用 1.define 定义常量 2.define 定义函数 3.define 定义多行函数 4.define 防止头文件重复包含 三.const 和 define 区别 ...
1、函数体内修饰局部变量。 例: void func() { const int a=0; } 首先,我们先把const这个单词忽略不看,那么a是一个int类型的局部自动变量,我们给它赋予初始值0。然后再看const. const作为一个类型限定词,和int有相同的地位。 const int a; int const a; ...
二、const在函数声明时修饰参数 void *memmove( void* dest, const void* src, size_t count ); 这是标准库中的一个函数,在头文件#include <string.h>中声明,其功能为由src所指内存区域复制count个字节到dest所指内存区域。用于按字节方式复制字符串(内存)。它的第一个参数,是将字符串复制到哪里去(dst),是...
使用const关键字时,要注意以下几点: const修饰的变量必须在定义时初始化,否则无法再赋值。 const修饰的变量并不一定是编译时常量,有些情况下是运行时常量,例如使用函数返回值或者运算表达式初始化。 const修饰的变量并不一定占用内存空间,有些情况下会被编译器优化掉,例如使用字面值或者宏定义初始化。