C/C++复习
2013-10-17 00:00
239 查看
1.C传送参数:
两种:值传递,引用传递:如下测试code:
void valuepass(int x) { x=x+10; } void pointerpass(int *x) { *x=*x+1; } void valuepassdemo() { int n=0; printf("调用前n 的数值是%d"+n); valuepass(n); printf("调用后n 的数值是%d"+n); } //C 不支持 引用传递 //void refenercepass(int &x) { // &x=&x+10; // //} /*** * //传送的是int 的地址 如0x0001, -->*x=*x+1, * 0x0000 0x0001 0x0002 -->(0x0001) * 0 1 2 1 * **/ void pointerpassdemo() { // int *n=1; int n=0; //0x0000 printf("调用前n 的数值是 %d"+n); pointerpass(&n); //地址传递 printf("调用后n的数值是 %d"+n); //0x0001 } /** * **/ void refenercepassdemo() { int n=0; //0x0000 printf("调用前n 的数值是 %d"+n); refenercepassdemo(n); //地址传递 printf("调用后n的数值是 %d"+n); //0x0001 }
两种:值传递,引用传递:如下测试code:
void valuepass(int x) { x=x+10; } void pointerpass(int *x) { *x=*x+1; } void valuepassdemo() { int n=0; printf("调用前n 的数值是%d"+n); valuepass(n); printf("调用后n 的数值是%d"+n); } //C 不支持 引用传递 //void refenercepass(int &x) { // &x=&x+10; // //} /*** * //传送的是int 的地址 如0x0001, -->*x=*x+1, * 0x0000 0x0001 0x0002 -->(0x0001) * 0 1 2 1 * **/ void pointerpassdemo() { // int *n=1; int n=0; //0x0000 printf("调用前n 的数值是 %d"+n); pointerpass(&n); //地址传递 printf("调用后n的数值是 %d"+n); //0x0001 } /** * **/ void refenercepassdemo() { int n=0; //0x0000 printf("调用前n 的数值是 %d"+n); refenercepassdemo(n); //地址传递 printf("调用后n的数值是 %d"+n); //0x0001 }
相关文章推荐
- C++复习swap and move
- C++基础复习-----2(const 与static)
- C++复习要点总结之二——函数
- 深度探索C++对象模型复习和学习 第六章:执行期语意学
- Day 4:C++基本语法知识回顾复习
- 复习C++ 走一遍基础 留下笔记----{三}
- C++复习(四)
- c++复习笔记(动态数组)
- 面试复习(C++)之直接插入排序
- c++知识复习6.0
- c++期末考试复习总结
- C++复习0.3——模版/类型转换/异常
- C++复习要点总结之——友元
- [150421][C++]数据结构复习——栈实现源码
- C++复习 02 变量和基本类型
- C++复习 05 表达式
- C++复习 10 关联容器
- 为了更好的复习C++
- 复习C++一些基础知识
- 计算机网络-C++基础知识,面试复习题