指针常量, 常量指针, 常量的指针常量
来源:互联网 发布:淘宝商城入驻流程 编辑:程序博客网 时间:2024/06/09 05:53
/// @file exam_test.cpp/// @brief 指针常量, 常量指针, 常量的指针常量#include <windows.h>#include <stdio.h>#include <stdlib.h>void fnTest1(int n);int main(){ int n = rand(); int m = rand(); int const m1 = rand(); const int m2 = rand(); int const *p = &n; ///< 常量指针(常量的指针, 指针本身可以改,但是指针指向的变量不能再通过指针赋值) const int *p2 = &n; ///< 只要const修饰符号在*的左边, 在类型声明左边或右边都一样 int * const p1 = &n; ///< 指针常量(指针是常量, 指针本身是常量, 指针不能再指向另外一个变量) int const * const p3 = &n; ///< 常量的常量指针, 指针不能改,指针指向的地址内容也不能改 /// p3 = &n; ///< error C2166: l-value specifies const object /// *p3 =2; ///< error C2166: l-value specifies const object p = &m; ///< ok, 常量指针, 可以对指针本身再赋值, 不能对该指针指向的地址再赋值 /// *p = 2; ///< error C2166: l-value specifies const object *p1 = 2; ///< ok, 指针常量,指针本身是常量,不能再赋值, 但是可以对指针指向的地址赋值 // p1 = &m; ///< error C2166: l-value specifies const object fnTest1(rand()); /// 常量定义赋初值后, 编译器限制其不能在语法层面再修改 /// m1 = 2; ///< error C2166: l-value specifies const object /// m2 = 3; ///< error C2166: l-value specifies const object n = 8; ///< ok, 不管指针如何修饰, 变量是可以修改 /// 常量指针和指针常量是编译器做的限制. /// 如果违规, 在编译时不能通过. /// *p = 6; ///< error C2166: l-value specifies const objectreturn 0;}void fnTest1(int n){ int const iTmp1 = n; const int iTmp2 = n; // iTmp1 = 2; ///< error C2166: l-value specifies const object // iTmp2 = 3; ///< error C2166: l-value specifies const object}
0 0
- 常量指针,指针常量,常量指针的指针常量
- 常量指针,指针常量,常量指针的指针常量
- 指针常量 常量指针 常量指针常量
- 常量指针 指针常量
- 常量指针 指针常量
- 指针常量,常量指针
- 常量指针&&指针常量
- 常量指针 指针常量
- 指针常量、常量指针
- 常量指针 指针常量
- 指针常量~常量指针
- 常量指针、指针常量
- 常量指针 指针常量
- 指针常量?常量指针?
- 指针常量 常量指针
- 常量指针,指针常量
- 常量指针 指针常量
- 常量指针、指针常量、指向常量的常量指针
- php obstart 详解
- 使用时只需在需要调整的table上加上对应的ID即可
- 这段代码也给放到colResizable-1.3.min.js里面了
- 多重折线图自定义X轴间隔与自定义title名称—R语言
- 新一代的javascript ECMAScript 6
- 指针常量, 常量指针, 常量的指针常量
- Theano学习笔记(一)——代数
- poj1276 Cash Machine(多重背包)
- 2015-11-11 hdu新生赛 F题(结束后一发AC)
- Theano学习笔记(二)——逻辑回归函数解析
- Theano学习笔记(三)——图结构
- 简单几招,提高你的行动力
- hiho刷题日记——第十一天树中的最长路
- Java Base64加密、解密原理