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 没有问题
相关文档:
前言 不断有网友将编译器 GCC 误认为 IDE(集成开发环境)
期望脱离命令行
期望能在菜单中发现其身影
期望其能有一个集编辑编译链接调试运行于一体的界面
故本文给大家简单罗列一些 C/C++ 编程中可用的 IDE,或许你从中可以找一个你喜欢的。
为避免以下某个软件安装时不自动安装 ......
C和C++互相调用函数时,使用extern "C"。
原因:
C不支持函数重载,而C++支持函数重载。函数被C++编译后会名字与C语言不同。假设某函数原型为foo(ing x, int y),被C++编译后名字为_foo_int_int,而C编译器编译后名字为_foo。 ......
问题:在存储过程中,有时会遇到比较变态的东西,如一个存储过程中有output返回值,有return返回值,还有查询的返回值TABLE,遇到这样的存储过程真是郁闷,一次性把所有的返回值取出来还真的有点麻烦。
1、 首先来看这个存储过程吧
CREATE PROCEDURE ParaTest
@paraout varchar(20) ......
1.求下面函数的返回值(微软)
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
......
3.3 高效率开发
这一节介绍利用单元测试实现高效率开发。单元测试可以在几个方面提高开发效率:测试驱动开发、可视编程、快速排错、和提高调试效率。
测试驱动开发
指先编写测试代码,然后再编写产品代码使测试通过,有很多相关文章和书籍介绍这方面知识,限于编幅,这里就不讲了 ......