zoukankan      html  css  js  c++  java
  • C 函数声明、函数参数

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

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

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

    函数声明

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

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

    函数参数

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

    /* 函数定义 */
    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
    ", a );
       printf("交换前,b 的值: %d
    ", b );
     
       /* 调用函数来交换值
        * &a 表示指向 a 的指针,即变量 a 的地址 
        * &b 表示指向 b 的指针,即变量 b 的地址 
       */
       swap(&a, &b);
     
       printf("交换后,a 的值: %d
    ", a );
       printf("交换后,b 的值: %d
    ", b );
     
       return 0;
    }
    
  • 相关阅读:
    Java并发编程:Lock
    java多线程中的生产者与消费者之等待唤醒机制@Version2.0
    java多线程中的生产者与消费者之等待唤醒机制@Version1.0
    vim 自动补全
    git 忽略文件的三种方式
    vim 查找整个工程
    vim 寄存器的使用
    我的vim插件列表
    web前端面试系列 一 js闭包
    web前端面试系列
  • 原文地址:https://www.cnblogs.com/Gaoqiking/p/11716790.html
Copyright © 2011-2022 走看看