变量和函数

作者: xacker | 来源:发表于2017-02-11 15:53 被阅读30次

变量的作用域

变量的作用域.png
#include<stdio.h>
int f(int a) // 定义了变量a,a的作用域从这里开始
{
  int b;//定义了变量b,b的作用域从这里开始
  b=a+1;
  return b;  
}//a,b作用域结束
main()
{
  int x=1,y;//x,y的作用域只能在这个main函数
  y=f(x);
}

通过上述的程序简单的表达作用域,我们来一道例题学习学习,还有c语言毕竟是一门程序语言,希望大家在编译器里面运行一下。

#include<stdio.h>
void fun(int *a,int *b)
{int *c;
c=a;a=b;b=c;
}
main()
{
int x=3,y=5,*p=&x,*q=&y;
fun(p,q);printf("%d,%d,",*p,*q);
fun(&x,&y);printf("%d,%d\n",*p,*q);
}

解释器编译出来的结果是:3,5,3,5
fun函数交换局部变量a和b的值,main调用并不改变参数的值

变量与函数的存储分类

1.静态变量(static):静态变量是在编译时分配存储空间,所占存储单元直到程序结束时才释放,它的值在程序运行过程中一直存在,且变量只初始化一次
静态变量包括全局变量和局部变量:
(1)全局变量不能使用auto.register关键字去定义全局变量;关键字static用于定义全局变量时,具有特殊含义,即限制该变量只在当前文件夹有效,不能被其他文件访问。
(2)局部变量:局部变量默认情况下为auto类型,存储在动态存储区中。

2.自动变量:auto 自动变量的存储空间是当程序执行到定义它的函数或语句块时才分配,当函数执行结束后自动释放,变量的值自动消失,每次调用函数时系统自动分配存储空间,并重新执行初始化语句。

3.寄存器变量(register):局部变量,只不过该变量不在内存而在寄存器中.

加油,加油

相关文章

  • 第一章 灵活的javascript

    1。 用对象来收编变量和函数,减少全局变量数,防止变量和函数覆盖。 2。可以使用类来收编变量和函数:

  • Kotlin | 2.Kotlin基础

    声明函数、变量、类、枚举以及类型Kotlin中的控制结构智能转换抛出和处理异常 函数学习 函数和变量 函数 变量 ...

  • 变量和函数

    可以使用下划线来增强可读性(Kotlin1.1版本开始支持)val oneMillion = 1_000_000v...

  • 变量和函数

    变量的作用域 通过上述的程序简单的表达作用域,我们来一道例题学习学习,还有c语言毕竟是一门程序语言,希望大家在编译...

  • 变量和函数

    变量 Kotlin中声明变量有两种关键字 val 和 var val (value的简写)用来声明一个不可变的变量...

  • Cloneable接口

    前置知识 Java在处理对象和变量时是不同的.变量传入函数实际上是引用传入函数内,在函数内的变量和函数外传入的变量...

  • 前端面试题

    闭包1.函数嵌套函数--设计私有方法和变量。2.函数内部可以应用外部参数和变量--避免全局变量污染。3.参数和变量...

  • 【Kotlin 】Kotlin基础

    函数和变量函数 变量可变变量和不可变变量 val - 不可变引用。 相当于Java的final变量。var - 可...

  • 菜鸟学习javaScript9

    11 变量和参数深入了解 变量 全局变量:在函数外面声明的变量。 局部变量:在函数内部声明的变量,只有在函数内部使...

  • 函数式编程

    高阶函数 变量可以指向函数 变量f指向了abs函数本身。直接调用abs()函数和调用变量f()完全相同。 函数名也...

网友评论

    本文标题:变量和函数

    本文链接:https://www.haomeiwen.com/subject/wcxoittx.html