c 语言中带const 的指针小记
一、有如下代码:
int age = 25;
const int *pAge = &age;
上面的代码表示:
1、指针变量pAge存放变量age的地址,且不能通过 *pAge = 30,来改变指针变量pAge所指向的存储空间的值,但是 对于 age = 30,则是没有问题的。
2、pAge 本身可以再存放其它变量的地址,也可以指向NULL,如 pAge = NULL;是正确的。
二、有如下代码:
int age = 25;
int *const pAge = &age;
上面的代码表示:
1、指针变量pAge用const限定了,所以pAge不能再存储其它变量的值,也不能指向NULL;所以 pAge = NULL;是不正确的
2、对于*page = 30,是正确的;
三、有如下代码:
int age = 25;
const int *const pAge = &age;
上面的代码表示:
1、指针变量pAge不能再存储其它变量的值或NULL
2、对于通过*pAge = 30 的形式改变指针变量pAge指向的存储空间的值是不正确的
3、对于 age = 30 没有问题
相关文档:
C和指针
在C中有一个很重要的概念,或许大家都知道,那就是指针。在很多初学者刚接触C的时候都认为这是最难的知识点了。没错,我刚开始学的时候也是这么想的,上了第一节课后,第一感受就是:天啊,这简直就是天书!由于个人对于C的爱好,经过一段时间的学习和研究之后,发现这一块是我最喜欢的,并且逐步发现这也是本人的 ......
最近在看《c程序设计语言》,就是那本被誉为C语言圣经的书籍。几天看了一章,感触很大,开篇就涉及到很多实用程序,不像谭浩强那样让人深陷语法细节之中,而且学完谭的书感觉什么都不能做。很多问题谭都回避了。所谓专业看看c程序设计语言的代码的风格就能感受到,一种精心雕琢的艺术品。第一章有 ......
在很大程度上,标准C++是标准C的超集.实际上,所有C程序也是C++程序,然而,两者之间有少量区别.下面简要介绍一下最重要的区别.
在C++中,民,局部变量可以在一个程序块内在任何地方声明,在C中,局部变量必须在程序块的开始部分,即在所有"操作"语句之前声明,请注意,C99标准中取消了这种限制.
&nb ......
C/C++ 常见误区
1. C++虽然主要是以C的基础发展起来的一门新语言,但她不是C的替代品,不是C的升级,C++和C是兄弟关系。没有谁比谁先进的说法,更重要的一点是C和C++各自的标准委员会是独立的,最新的C++标准是C++98,最新的C标准是C99。因此也没有先学C再说C++的说法,也不再(注意这个"不再")有C++语法 ......
1.求下面函数的返回值(微软)
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
......