233灵活的局部变量说明 int f() i int i; 10 int 25 for(intk=5;k>=0;kx-)…… 以上的写法在C程序中都是错误的,但在C++程序中都是正确的
2.3.3 灵活的局部变量说明 int f( ) { int i; i=10; int j; j=25; for(int k=5;k>=0;k--) ….. ……. } 以上的写法在C程序中都是错误的,但在C++程序中都是正确的。 5
234结构、联合和枚举名可直接作为类型名 定义枚举类型名: enum bool False, true 定义结构枚举类型名: Struct student i int sno: char seeme; C语言中定义枚举类型变量: enum bool done; 定义结构类型变量: struct student s1,s2; C++语言中定义枚举类型变量: bool done; 定义结构类型变量: student s1,s2;
2.3.4 结构、联合和枚举名可直接作为类型名 定义枚举类型名: enum bool {FALSE, TRUE}; 定义结构枚举类型名: Struct student { int sno; char *sneme; }; C语言中定义枚举类型变量: enum bool done; 定义结构类型变量:struct student s1, s2; C++语言中定义枚举类型变量:bool done; 定义结构类型变量:student s1, s2; 6
235 const修饰符 #define limit 1oo 这里LM是一个标志,代表100 const int lIMit=100: 这里LMT是一个常量名,在内存有空间放了100,因此有地址, 可以用指针指向这空间,但不能修改它。 int j=100 这里i是一个变量名,在内存有空间放了100,因此有地址,可以 用指针指向这空间,且可以改放别的整数。 (1)可以用一个指向常量的指针变量指向常量: const char *name=" chen naine name3]=a"’;∥/错误 chen 常量 nane- “ zhang”;/确 zhan|常量 (2)指针常量 char *const name=“chen”; name3=a';∥l确 name che n name=“ zhang”;∥误常量x (3) const char *const name=“chen”; zhang
2.3.5 const修饰符 #define LIMIT 100 这里 LIMIT 是一个标志,代表100 const int LIMIT=100; 这里 LIMIT 是一个常量名,在内存有空间放了100,因此有地址, 可以用指针指向这空间,但不能修改它。 int i=100; 这里 i 是一个变量名,在内存有空间放了100,因此有地址,可以 用指针指向这空间,且可以改放别的整数。 (1) 可以用一个指向常量的指针变量指向常量: const char *name=“chen”; name[3]=‘a’; //错误 name=“zhang”;//正确 (2)指针常量 char *const name=“chen”; name[3]=‘a’; //正确 name=“zhang”; //错误 (3) const char *const name =“chen”; name chen 常量 zhang 常量 X n name chena zhang 常量 a na X 7
∥1付24 #include <iostream. h> main i int a=l #define ti ata #define t2 t1-t1 cout<<T2 is <<T2<<endl aataaa eturn o cout<<2 is <<ata-a+a<<endl ∥625 #include <iostream.h> maino i int a=1; const ti=a+a const T2=TI-TI cout<<t2 is <<T2<<endl return 0:
// 例2.4 #include <iostream.h> main( ) { int a=1; #define T1 a+a #define T2 T1 -T1 cout<<"T2 is "<<T2<<endl; return 0; } cout<<“T2 is “<<a+a -a+a<<endl; // 例2.5 #include <iostream.h> main( ) { int a=1; const T1=a+a; const T2=T1 -T1; cout<<"T2 is "<<T2<<endl; return 0; } a+aT1T2-a+a T1 8
236内置函数 ∥6时26 #include <iostream.h> float circle(float r) int main( 3次/ return31416*rr;} i for(int i=l; i<=3; i++) cout<<r=<<K<<"area='<<circle(i<<endl return u 在函数前加以 inline,成为内置函数 #include <iostream. h> inline float circle(float r) int main( 代码嵌入{ return3:1416*r*r; i for(int i=l; K<=3; i++) cout<<r<<i<<area=<<circle(i)<<end; return 0 9
2.3.6 内置函数 //例2.6 #include <iostream.h> int main( ) 3次 { for(int i=1;i<=3;i++) cout<<"r="<<i<<" area="<<circle(i)<<endl; return 0; } 在函数前加以inline ,成为内置函数 #include <iostream.h> int main( ) 代码嵌入 { for(int i=1;i<=3;i++) cout<<"r="<<i<<" area="<<circle(i)<<endl; return 0; } float circle(float r) { return 3.1416*r*r; } inline float circle(float r) { return 3.1416*r*r; } 9