随笔分类 -  C/C++学习笔记

摘要:栈:自动变量:auto。变量的地址在栈中。C语言函数调用的实现:在调用方,参数从后往前按顺序被堆积在栈中和函数调用关联的返回信息(返回地址等)也被堆积在栈中。一旦函数调用结束,局部变量占用的内存区域就被释放,并使用返回信息返回到原来的地址。从栈中出去调用方的参数。测试程序:结论:地址值越大,表明越在栈底部。参数从后往前堆积,所以看到b的地址(0033F950)大于a的地址(0033F94C)局部变量数组也是从后往前堆积,下标越大,地址越大,越在底部。注意,局部变量(auto)的内存区域是在函数被调用时,也就是执行时被分配的。C语言的可变长参数的实现,就是基于函数参数从后往前堆积。printf( 阅读全文
posted @ 2014-02-27 18:25 amghost 阅读(292) 评论(0) 推荐(0)
摘要:cin是istream类的对象,它从标准输入设备获取数据,程序中的变量通过流提取符“>>”从流中提取数据。从流中提取数据时通常跳过输入流中的空白符只有在输入完数据并按回车后,该行数据才被送入缓冲区形成输入流,提取符才能提取数据除了直接使用cin>>提取数据外,还可以用istream类的成员函数(注意cin是Istream的对象,所以它也有这些函数)完成字符的输入get,读入一个字符不带参数的调用:cin.get()返回读入的值,若遇到文件结束符,则返回EOF与C语言的getchar()功能相同带一个参数的调用:cin.get(ch)。提取一个字符,并赋值给ch变量若读取 阅读全文
posted @ 2014-02-27 18:22 amghost 阅读(242) 评论(0) 推荐(0)
摘要:比如:int ( * func_p ) ( double );首先着眼于标识符。func_p is因为存在括号,(* func_p) 先被处理,这里着眼于*func_p is a pointer to解释后面的( ),这是用于函数的,参数是doublefunc_p is a pointer to function(double) returning最后,解释数据类型修饰符intfunc_p is a pointer to function(double) returning int翻译成中文就是:fun_p是一个指向返回int的函数的指针再比如:double (*hoge)[3],翻译为:ho 阅读全文
posted @ 2014-02-27 18:21 amghost 阅读(218) 评论(0) 推荐(0)