不传递地址,改变外界变量的值
来源:互联网 发布:mysql数据库笔试题 编辑:程序博客网 时间:2024/06/05 03:40
c语言里面传值可以改变传入参数的值:方法:宏实现
curses调用里面有一个例子
int row,col; /* 存储行号和列号的变量,用于指定光标位置 */getmaxyx(stdscr,row,col); /* 取得 stdscr(标准输出设备)的行数和列数 */
mvprintw(row/2,(colstrlen(mesg))/2,"%s",mesg); /*在屏幕的正中打印字符串 mesg*/
问题:为什么getmaxyx能改变变量row和col的值,row和col并没有传递地址进去啊?
查看源代码:
#define getmaxyx(win,y,x) (y = (win)?((win)->_maxy + 1):ERR, x = (win)?((win)->_maxx + 1):ERR) // 这里利用宏来实现改变参数的值
0 0
- 不传递地址,改变外界变量的值
- 指向指针的指针**p改变*p值可以传递数值并且不改变p地址
- Python变量传递以及内存地址的改变问题
- 传递变量的地址
- 参数传递---形参改变实参指针变量的值
- Java方法中通过传递参数改变变量的值
- sizeof()的()中算术运算不改变变量的值
- 不经过中间变量改变两个数的值
- 不借助第三个变量实现两个变量之间的值传递和交换
- 不借助第三个变量实现两个变量之间的值传递和交换
- 实现两个变量的值传递和互换(不借助第3个变量)
- C++学习总结_改变指针变量的地址
- 值传递与地址传递的区别
- 值传递与地址传递的区别
- 指针的值传递和地址传递
- 值传递和地址传递的理解
- 反转单链表的值,但不改变链表指针地址
- 外界访问linux下的端口,连接不上
- 【Linux】【eclipse】Ubuntu下部署java JDK和eclipse IDE
- Fedora中lsb_release命令的安装方法
- PhysX3学习笔记2
- 马上理解js中的函数为何是一个对象
- 数组的初始化
- 不传递地址,改变外界变量的值
- 【Java】java学习笔记:【从网络获取图像资源】实现
- 数字证书原理
- Direct3D 11在windows7上提示创建d3d设备失败
- 笔记3~6
- Pat(A) 1002
- PAT 1015. Reversible Primes (20)
- 【Java】【FAQ】Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败
- 【Java】【FAQ】Java连接SQL Server 2000问题:“com.microsoft.sqlserver.jdbc.SQLServerException:用户'sa'登录失败。