C语言用#define定义常量
#define PI 3.14159
C++用const修饰符来定义常量
const float PI=3.14159
const可以与指针一起使用,组合情况有三种:
- 指向常量的指针: 一个指向常量的指针变量 或
char
const
*a
const char * pc="abcd";
使用了const, 不可以改变指针所指向的常量。pc是一个指向常量的普通指针变量,可以改变pc的值
pc[3]='x'; //wrong
pc="jkkk"; //right
- 常指针: 指针本身,不是它指向的对象声明为常量。
char * const pc=“abcd”;
含义:声明一个名为pc的指针变量,该指针是指向字符型数据的常指针,用字符串abcd的地址初始化该常指针。
创建一个常指针就是创建不能移动的固定指针,但是它所指的数据可以改变。
pc[3]='x'; //right
pc="jdghsj"; //wrong
- 指向常量的常指针: 整个指针本身不能改变,所指向的值也不能改变。
const char* const pc="abcd";
总结:const在*的左边,则指针指向的变量的值不可直接通过指针改变(可以通过其他途径改变);
在*的右边,则指针的指向不可变。
简记为"左定值,右定向"。
若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是static