C-038.const关键字
来源:互联网 发布:网络用语 简写 编辑:程序博客网 时间:2024/04/29 14:15
const 说明定义的变量是只读的
1.const修饰一个普通变量,表示这个变量是只读的,不可以修改的
const的位置与其类型的位置是可以调换的
2.const 修饰数组,表示数组是只读的,必须定义的时候进行初始化
3.const 修饰指针的时候,如果const放在*前面,表示指针指向的内容是只读的,不可以通过指针修改它所指向的存储内容
如果const在*后面说明指针本身是只读的,不能改变指针的指向
4.const 修饰形参:保证这个形参不会被函数修改
同时也可以告诉函数的调用者,本函数不会修改它里面的内容
可以提高函数可读性
1.const修饰一个普通变量,表示这个变量是只读的,不可以修改的
const的位置与其类型的位置是可以调换的
2.const 修饰数组,表示数组是只读的,必须定义的时候进行初始化
3.const 修饰指针的时候,如果const放在*前面,表示指针指向的内容是只读的,不可以通过指针修改它所指向的存储内容
如果const在*后面说明指针本身是只读的,不能改变指针的指向
4.const 修饰形参:保证这个形参不会被函数修改
同时也可以告诉函数的调用者,本函数不会修改它里面的内容
可以提高函数可读性
5.const修饰函数返回值说明它的返回值不能修改
void sum(const int num1,int num2){/* 4。修饰形参:保证这个形参不会被函数修改 同时也可以告诉函数的调用者,本函数不会修改它里面的内容 可以提高函数可读性*/ //num1 = num2; 会报错,因为num1已经被修饰了,只读 printf("%d\n",num1);}const char * strtest(){ //5.const 作为函数返回值说明它的返回值不能修改 return "hello";}//argc 说明当程序启动时候,从控制台传入的参数的个数//argv 从控制台传入的参数的值int main(int argc, const char * argv[]) { //1.const 修饰普通变量 int const a = 10; const int b = 20; //可以和数据类型调换位置 //a = 20; 这行会报错,const修饰后,不能修改,只能读取 printf("%d,%d\n",a,b); //2.const 修饰数组 int const str[] = {1,2,3}; const int str1[] = {4,5,6}; //str[0] = 0; 报错,不能修改 //3.const 修饰指针 //3.1const 放在*前面,表示所指向的内容不能改变 int c = 30; int const *p = &c; //const int *p = &c; 也可以调换位置 //*p = 31; 报错,不能修改 //3.2const 放在*前面,表示所指向的地址不能改变 int d = 40; int * const p1 = &d; *p1 = 50; //可以修改指向的内容 //p1 = &c; 报错,不能改变指向 const int * const p2 = &c; //全都只读,不管是指针还是指向的内容 // *p2 =60; // p2 = &d; //5.const 作为函数返回值说明它的返回值不能修改 const char *strs = strtest();//需在前面加const,否则会报警告 printf("%s\n",strs); return 0;}
0 0
- C-038.const关键字
- C++:关键字const (转)
- c的 const关键字
- c的 const关键字
- C语言关键字----Const
- C语言关键字----Const
- c const关键字理解
- C语言----------const关键字
- c++const关键字
- C语言关键字const
- C/C++ const关键字
- C中const关键字
- C中const关键字
- c语言const关键字
- (C)const关键字
- C:const 关键字详解
- 详解C++const关键字
- c语言关键字const
- 网站分布式架构的演进
- 让laravel支持memcache的配置方法
- SYBASE全库备份方案
- MySQL数据类型注意事项
- page、request、session和application有什么区别?
- C-038.const关键字
- 微信收费事件背后被广泛忽略的技术细节——长连接心跳周期
- SpringMVC_异常处理
- POJ 1410 Intersection
- HTTP Status 500 - Error instantiating servlet class com.*.servlet.TestServlet
- Graph Based Algorithms, why 2-D instead of 3-D ?
- 安卓Activity--Activity的跳转动画
- Pig Hive对比
- android屏幕适配