cnst常量 11:17:57 定义语法: cnst类型名常量名=常量值; 或类型名 cons t常量名=常量值; 例: const float pi=3.14;分 float const pi=3.14 const int min=5 int const min=50 const int max=2*min: int const max=2*min cons t定义的常量,相当于定义了一个相应类型的变量, 但其值不能发生改变 例: const int min=50; min=40 //错误,不能改变min的值 所以,定义 cons t常量的同时必须初始化,且一旦初始化后, 就不会(因不能故不会)再发生变化。因此在作用范围内若 某变量的值不会发生改变,则定义该变量时应用 cons t进行 限定,以免无意中改变该变量的值 cons t常量是编译时的常量 例: const int sz=100; int arr lsz;
11:17:5716 – const常量 定义语法: const 类型名 常量名=常量值; 或 类型名 const 常量名=常量值; 例:const float pi=3.14; float const pi=3.14; const int min=50; int const min=50; const int max=2*min; int const max=2*min; • const定义的常量,相当于定义了一个相应类型的变量, 但其值不能发生改变 例:const int min=50; min=40; //错误,不能改变min的值 所以,定义const常量的同时必须初始化,且一旦初始化后, 就不会(因不能故不会)再发生变化。因此在作用范围内若 某变量的值不会发生改变,则定义该变量时应用const进行 限定,以免无意中改变该变量的值 • const常量是编译时的常量 例:const int sz=100; int arr[sz];
const与指针 11:17:57 1.指向常量的指针:限定指针所指针对象、变量 定义形式: cons t类型*指针变量[地址表达式]; 或类型 const*指针变量[=地址表达式]; 例: int var=35: const int max =100 pI-cons t 和 int *p; p2-const, const int *pl-const: var不是常 const int *p2-const 量 pI-const=&var, *pl-const p2-const=&max; 和 var=40 p2-const *pl-cons t=100 max是常 *p2-cons t=200 max=200 p=&max;
11:17:5717 – const与指针 1.指向常量的指针:限定指针所指针对象、变量 定义形式: const 类型 * 指针变量[=地址表达式]; 或 类型 const * 指针变量[=地址表达式]; 例:int var = 35; const int max = 100; int *p; const int *p1_const; const int *p2_const; p1_const=&var; p2_const=&max; var=40; *p1_const=100; *p2_const=200; max=200; p=&max; p1_const和 p2_const, var不是常 量 *p1_const 和 *p2_const 、max是常 量
11:17:57 指向常量的指针 constant"p1_const int var p1 cons t.不是常量,p1- cons t指向的变量的值不 能通过*p1- cons t改变,但p1- const指向的变量 即var本身不是常量,是可以改变的,故 *p1-cons t=100 var=40 const int*p2_ const const int max p2 cons t.不是常量,p2 cons t指向的变量的值不 能通过*p2- cons t改变,且p2- cons t指向的变量 即max本身是常量,其值不能改变,故 *p2-const=200 max=200;
11:17:5718 – 指向常量的指针 const int *p1_const const int *p2_const const int max int var p1_const不是常量,p1_const指向的变量的值不 能通过 *p1_const改变,但p1_const指向的变量 即var本身不是常量,是可以改变的,故 *p1_const=100; var=40; p2_const不是常量,p2_const指向的变量的值不 能通过 *p2_const改变,且p2_const指向的变量 即max本身是常量,其值不能改变,故 *p2_const=200; max=200;
11:17:57 2.指针常量:指针变量本身的值初始化后不能再改变 定义方式: 类型* cons t指针变量地址必须要赋初值 6: int var1=100, var2=200 const int max=1000 int const cst-p1=&varl; int const cst-p2=&max *cst-p1=var2; cst-pl=&var2, 只说明了指针变量如cst-p1本身是常量,但并没有说不能 改变*CSt-p1的值
11:17:5719 2.指针常量:指针变量本身的值初始化后不能再改变 定义方式: 类型 * const 指针变量=地址表达式; 例:int var1=100,var2=200; const int max=1000; int * const cst_p1=&var1; int * const cst_p2=&max; *cst_p1=var2; cst_p1=&var2; 只说明了指针变量如cst_p1本身是常量,但并没有说不能 改变*cst_p1的值 必须要赋初值
11:17:57 3.指向常量的指针常量 指针变量本身和所指对象的值都为常量,不能改变 定义方式: cons t类型* cons t指针变量=地址表达式; 或类型 const* cosnt指针变量=地址表达式; 6: int varl=128, var2=256; const int max=1000 const int *const doublecst-pl=&var1; const int *const doublecst-p 2=&max, doublecst-pl=&var2 *doublecst-p1=500 var=max-var
11:17:5720 3.指向常量的指针常量 指针变量本身和所指对象的值都为常量,不能改变 定义方式: const 类型 * const 指针变量=地址表达式; 或 类型 const * cosnt 指针变量=地址表达式; 例:int var1=128,var2=256; const int max=1000; const int *const doubleCst_p1=&var1; const int *const doubleCst_p2=&max; doubleCst_p1=&var2; *doubleCst_p1=500; var1=max-var2;