- 浏览: 11782614 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
笨蛋咯:
获取不到信息?
C#枚举硬件设备 -
guokaiwhu:
能把plan的数据结构图画出来,博主的耐心和细致令人佩服。
PostgreSQL服务过程中的那些事二:Pg服务进程处理简单查询五:规划成plantree -
gao807877817:
学习
BitmapFactory.Options详解 -
GB654:
楼主,我想问一下,如何在创建PPT时插入备注信息,虽然可以解析 ...
java转换ppt,ppt转成图片,获取备注,获取文本 -
jpsb:
多谢 ,不过我照搬你的sql查不到,去掉utl_raw.cas ...
关于oracle中clob字段查询的问题
函数返回值—返回局部变量
看看下面的程序的输出:<wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">#include <stdio.h></span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">char *returnStr()</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">{</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> char *p="hello world!";</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> return p;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">}</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">int main()</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">{</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> char *str;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> str=returnStr();</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("%s\n", str);</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> return 0;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">}</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">这个没有任何问题,因为"hello world!"是一个字符串常量,存放在静态数据区,把该字符串常量存放的静态数据区的首地址赋值给了指针,所以returnStr函数退出时,该该字符串常量所在内存不会被回收,故能够通过指针顺利无误的访问。</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">但是,下面的就有问题:</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">#include <stdio.h></span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">char *returnStr()</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">{</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> char p[]="hello world!";</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> return p;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">}</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">int main()</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">{</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> char *str;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> str=returnStr();</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("%s\n", str);</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> return 0;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">}</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
"hello world!"是一个字符串常量,存放在静态数据区,没错,但是把一个字符串常量赋值给了一个局部变量(char []型数组),该局部变量存放在栈中,这样就有两块内容一样的内存,这是与前着最本质的区别,当returnStr函数退出时,栈要清空,局部变量的内存也被清空了,所以这时的函数返回的是一个已被释放的内存地址,所以打印出来的是乱码。<wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">如果函数的返回值非要是一个局部变量的地址,那么该局部变量一定要申明为static类型。如下:</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">#include <stdio.h></span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">char *returnStr()</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">{</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> static char p[]="hello world!";</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> return p;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">}</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">int main()</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">{</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> char *str;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> str=returnStr();</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("%s\n", str);</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> return 0;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">}</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">这个问题可以通过下面的一个例子来更好的说明:</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">#include <stdio.h></span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">//返回的是局部变量的地址,该地址位于动态数据区,栈里</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">char *s1()</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">{</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> char p[]="Hello world!";</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("in s1 p=%p\n", p);</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("in s1: string's address: %p\n", &("Hello world!"));</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> return p;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">}</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">//返回的是字符串常量的地址,该地址位于静态数据区</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">char *s2()</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">{</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> char *q="Hello world!";</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("in s2 q=%p\n", q);</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("in s2: string's address: %p\n", &("Hello world!"));</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> return q;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">}</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">//返回的是静态局部变量的地址,该地址位于静态数据区</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">char *s3()</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">{</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> static char r[]="Hello world!";</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("in s3 r=%p\n", r);</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("in s3: string's address: %p\n", &("Hello world!"));</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> return r;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">}</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">int main()</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">{</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> char *t1, *t2, *t3;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> t1=s1();</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> t2=s2();</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> t3=s3();</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("in main:");</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("p=%p, q=%p, r=%p\n", t1, t2, t3);</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("%s\n", t1);</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("%s\n", t2);</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> printf("%s\n", t3);</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"> return 0;</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">}</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em"></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
运行输出结果:<wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">in s1 p=0xbff92efb</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">in s1: string's address: 0x80486ac</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">in s2 q=0x80486ac</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">in s2: string's address: 0x80486ac</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">in s3 r=0x804998c</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">in s3: string</span><wbr style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><br style="margin:0px; padding:0px"><span style="font-family:新宋体; margin:0px; padding:0px; line-height:1.3em">这个结果正好应证了上面解释,同时,还可是得出一个结论:字符串常量,之所以称之为常量,因为它可一看作是一个没有命名的字符串且为常量,存放在静态数据区。这里说的静态数据区,是相对于堆、栈等动态数据区而言的。静态数据区存放的是全局变量和静态变量,从这一点上来说,字符串常量又可以称之为一个无名的静态变量,因为"Hello world!"这个字符串在函数 s1和s2 中都引用了,但在内存中却只有一份拷贝,这与静态变量性质相当神似。</span></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
char *p = "abcdefg";//静态存储区
char p[] = "abcdefg"; // p本身是数组名了,数组里放的字符串,是局部变量,内容是原来的静态区域内容的拷贝!因此返回p实际上返回的局部变量地址而不是静态存储区地址,和上面不同!
相关推荐
详解C语言函数返回值解析 程序一: int main() { int *p; int i; int*fun(void); p=fun(); for(i=0;i<3;i++) { printf(%d\n,*p); p++; } return 0; }; int* fun(void) { static int str[]={1,2,3,4...
函数的返回值4.1 返回值说明4.2 带有返回值的函数4.3 保存函数的返回值4.4 返回多个返回值5.递归函数6.局部变量6.1 作用范围6.2 局部变量7.全局变量7.1 全局变量简介7.2 全局变量和局部变量名字相同的问题7.3 修改...
函数可以作为返回值返回 函数的嵌套定义 python 作用域 局部作用域 外部嵌套函数作用域 模块级的作用域(全局作用域) 内建模块的作用域 global 语句 声明 nonlocal 语句 lambda 表达式(用来创建匿名函数)...
Python入门之Python函数全文框架前言函数的定义和调用函数的参数位置参数默认参数关键字参数特殊参数小结函数的返回值返回 None返回一个值返回多个值多个 return 语句函数的文档说明局部变量和全局变量函数标注编程...
11 局部变量作用域 是否存在返回局部变量指针 局部变量指针是否赋值给全局指针 12 函数参数调用 入参和定义是否一致。特别关注多重指针和单重指针的相互转换 参数类型是否一致,防止入参数据被截短 13 入参安全检查 ...
2.函数返回值放在什么地方 3.局部变量什么时候分配 4.参数的存储空间什么时候分配,什么时候释放 5.函数f3在调用与返回方式上与f1,f2有何不同
此类函数被调用执行完后将向调用者返回一个执行结果, 称为函数返回值。如数学函数即属于此类函数。 由用户定义的这种要返回函数值的函数,必须在函数定义和函数说明中明确返回值的类型。 (2)无返回值函数 此类...
C语言通过栈来维护函数调用上下文,也就是说C中的函数、函数参数列表、局部变量、函数返回值都保存在栈内存中,在完成函数调用之后栈帧随即销毁,至于具体的压栈顺序和上下文维护工作由谁来完成,则取决于函数的调用...
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。 函数的调用方式 1、普通调用:functionName(实际参数…) 2、通过指向函数的变量去调用: var myVar = 函数名; myVar...
1.一等函数 在Python中,函数是一等公民(first class citizen)。 函数像其他类型的数据一样,...外函数把内函数作为返回值返回,并且内函数中使用了外函数的局部变量,这样的情况下被返回的内函数被称为闭包(clos
从函数返回一个引用,必须在函数声明和指派返回值给一个变量时都使用引用操作符 & : 复制代码 代码如下: <?php function &returns_reference() { $someref = 0; return $someref; } $...
注意事项: (1)不能返回局部变量的引用。这条可以参照Effective C++[1]的Item 31。主要原因是局部变量会在函数返回后被销毁,因此被返回的引用就成为了"无所指"的引用,程序会进入未知状态。 (2)不能...
返回值也可以像形式参数一样被命名,并被声明成一个局部变量。 如果形参或返回值有相同的类型,参数类型可以省略 func f(i, j, k int, s, t string) { /* ... */ } func f(i int, j int, k int, s string, t string)...
1.source和destin所指内存区域不能重叠,函数返回指向destin的指针。 2.与strcpy相比,memcpy并不是遇到''结束,而是一定会拷贝完n个字节。 memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型
在前面我们讲解了python内置函数locals,内置函数locals直接以字典的形式返回当前位置的所有局部变量,今天需要介绍的是另外一个python内置函数globals,该函数直接以字典的形式返回当前位置的所有全局变量 ...
关于闭包, 很多blog中都这样解释 :对于一个嵌套定义的函数,外层的函数的返回值是内层函数,而在内层函数中又引用了外层函数的局部变量,在外层函数执行后,其局部变量并非被回收,而会同返回的内层函数一同存在,...
声明、初始化并使用基本类型、数组、枚举、静态对象、成员变量和局部变量,使用合法的变量标识符。 定义方法和静态方法,使用符合JavaBean命名规范的方法名。 定义并使用可变参数。正确重写和重载方法并识别...
您还将了解传递参数、返回值、局部变量和全局变量、函数原型和递归。 第 6 章:进一步了解函数 此模块继续探讨函数。它讨论了 C++ 的三个最重要的函数相关主题:引用、函数重载和默认参数。 第 7 章:更多数据类型和...
7.9.2局部变量的存储类别 7.9.3全局变量的存储类别 7.9.4存储类别小结 7.10关于变量的声明和定义 7.11内部函数和外部函数 7.11.1内部函数 7.11.2外部函数 习题 第8章;善于利用指针 8.1指针是什么 ...