C 函数声明、函数参数

参考连接:https://www.runoob.com/cprogramming/c-functions.html

局部变量与全局变量在内存中的储存方式

全局变量保存在内存中的全局储存区中,占用静态的存储单元
局部变量保存在栈中,只有当所在程序被调用的时候才动态的为变量分配储存单元
要正确的初始化变量

函数声明

函数声明可以告诉编译器函数名称以及如何调用函数,而函数的实际主体可以单独定义(就是简单的声明一下)
在函数声明中,参数的名称并不重要,只有参数的类型是必需的,因此下面也是有效的声明:
int max(int, int);//注意格式,不需要大括号

当程序调用函数时,程序的控制权会转移给被调用的函数

函数参数

形参就像函数内部的其他局部变量,当函数执行时被创建,函数执行结束后被销毁
有两种向函数内传递参数的方式:传值调用引用调用
传值调用
就相当于把参数的实际值复制给形参,形参的改变并不会影响实际值
一般情况下使用这个
引用调用
把实际值的地址赋给形参,形参为执行实际值地址的指针
传递指针可以让多个函数访问指针所引用的对象,而不用把对象声明为全局可访问。

/* 函数定义 */
void swap(int *x, int *y)
{
   int temp;
   temp = *x;    /* 保存地址 x 的值 */
   *x = *y;      /* 把 y 赋值给 x */
   *y = temp;    /* 把 temp 赋值给 y */
  
   return;
}
//函数调用
#include <stdio.h>
 
/* 函数声明 */
void swap(int *x, int *y);
 
int main ()
{
   /* 局部变量定义 */
   int a = 100;
   int b = 200;
 
   printf("交换前,a 的值: %d\n", a );
   printf("交换前,b 的值: %d\n", b );
 
   /* 调用函数来交换值
    * &a 表示指向 a 的指针,即变量 a 的地址 
    * &b 表示指向 b 的指针,即变量 b 的地址 
   */
   swap(&a, &b);
 
   printf("交换后,a 的值: %d\n", a );
   printf("交换后,b 的值: %d\n", b );
 
   return 0;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值