搜索
首页 电脑/网络 程序设计 C/C++

C语言 指针

void fun(int *n) { static int m=2; *n*=m-1; m+=2; } void main() { static int m=1; int i; for(i=1;i<4;i++) fun(&m); printf("%d\n",m); } 这个程序 *n*=m-1 怎么理解

全部回答

2012-09-30

0 0
    函数fun的形式参数n(相当于函数fun的局部变量)的类型是“int *”,说明是指针类型的,指向的对象是整型的,即用于存储整型变量的地址。在“*n *= m - 1”中,“*n”指n所指向的对象,该对象是一个整型变量。
  “*n *= m - 1”指将“*n”的值乘以“m - 1”的值,并把乘积赋给“*n”。    其中m指函数fun中的静态局部整型变量m。
   主函数调用fun函数时的实际参数是“&m”,这里的m指主函数中的静态局部整型变量m,调用时将主函数中的静态局部整型变量m的地址传给函数fun的形式参数n,于是n指向主函数中的静态局部整型变量m,因此“*n”就是主函数中的静态局部整型变量m。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
程序设计
C/C++
VB
数据库
汇编语言
JAVA相关
VC++
C#/.NET
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报