函数的参数中用二级指针
来源:互联网 发布:计算机考研学校知乎 编辑:程序博客网 时间:2024/05/01 22:09
在函数的参数中,有值传递和地址传递,
以一级指针方式传改不了str的值
void change(char* str1){ *str1 = "abcdef";}int main(){ char* str = "123456"; change(str); printf("%s\n",str); return 0;}输出:123456
因为main中调用change函数时候是把str指针做了一次值传递(把str的地址传)给change函数中的str1。change函数拿到了str传递过来的副本,副本指向字符串常量"123456"。*str = "abcdef";程序把副本又指向了字符串常量"abcdef"。其中mian函数中str指向的没改变过。
以二级指针方式传可以改str的值
void change(char** str1){ *str1 = "abcdef";}int main(){ char* str = "123456"; change(&str); printf("%s\n",str); return 0;}输出:abcdef
因为mian函数中取指向字符串常量的指针的地址,把它的地址赋给change函数,这是地址传递。change函数拿到了指向str的指针,就可以修改str所指向的内容,从而str的值改变了。
转载请标明,作者Aliwn-Liu
- 函数的参数中用二级指针
- 一级指针域二级指针的函数参数传递
- 一级指针、二级指针做函数参数的区别
- 二级指针作为函数参数传递初始化的一点总结
- 再回首(四):二级指针做函数参数的应用
- 二级指针作为函数参数传递初始化的一点总结
- 二级指针和函数参数——指针参数是如何传递内存的?
- 二级指针作为函数参数申请内存
- 函数参数的传递问题(一级指针和二级指针)
- 函数参数的传递问题(一级指针和二级指针)
- 函数参数的传递问题(一级指针和二级指针)
- 函数参数的传递问题(一级指针和二级指针)
- 函数参数的传递问题(一级指针和二级指针)
- 函数参数的传递问题(一级指针和二级指针)
- 函数参数的传递问题(一级指针和二级指针)
- 函数参数的传递问题(一级指针和二级指针)
- 一级指针与二级指针作函数参数的内存分配
- C语言二级指针做函数参数改变该指针的指向
- Gtk+3.0 实现简单的俄罗斯方块
- Linux的IO性能监控工具iostat详解
- XML中何时使用元素何时使用属性
- 为现实高歌
- 在未贴brcm4330芯片的情况下,invensense的sensor失效问题分析
- 函数的参数中用二级指针
- 软件设计中什么是最重要的
- hdu 4639 2013多校第四场 hehe Fibonacci 数列,组合计数,字符串处理
- 程序员求职之道(《程序员面试笔试宝典》)之程序员的健康谁来保证?
- java基础对集合的理解
- C++实现矩阵类,实现了大部分矩阵运算功能,大家可以类比matlab
- 绝对定位布局管理器(AbsoluteLayout)此布局管理器已被废除
- 问题2:如何用一个for循环打印出一个二维数组?
- linux 原子性操作atomic_t