zoukankan      html  css  js  c++  java
  • C语言中的函数及变量

           函数的本质是一段二进制代码,这些代码是可以直接被机器执行的指令。在翻译为汇编语言时,函数被翻译成一段相对独立的代码,并且使用函数名作为编号,表示此段代码的入口。当程序调用该函数时,只需要转到该入口就可以了。因此函数名的值等于内存中存储该代码段的首地址

       函数在调用时会使进程空间中的栈不断增长,从当前进程空间中的栈顶的位置到函数保存返回地址的位置,这块内存称为函数的栈帧,所有函数的局部变量都保存在栈帧上,当函数结束调用时这块栈真就消失了,全局变量保存在数据段.

    下面看看怎么取出栈里的数据吧,

    #include<stdio.h>
    void fun(int a,...)
    {
       int *p=&a;
    int i=0;
       for(;i<a;i++)
    {
    printf("%d",*(++p));
    }
    }
    int main()
    {
      int a=3,b=5,c=9,d=7;
      fun(4,a,b,c,d);
    }

    然后gcc,执行结果3597

  • 相关阅读:
    poj 1850/poj 1496
    poj 1035
    poj 3252
    hdoj 1013
    poj 2965
    poj 1844
    poj 2309
    蓝桥杯比赛回来后计划。。。
    山大实训第二周感想
    hadoop——Map/Reduce中combiner的使用
  • 原文地址:https://www.cnblogs.com/ymy124/p/2292032.html
Copyright © 2011-2022 走看看