当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

c语言中的函数调用

发表于: 2014-04-14   作者:麦田的设计者   来源:转载   浏览:
c
摘要: 今天是我第一天写博客,最近一直在看c语言的书。函数调用是一个非常重要的知识点,相当于各个模块的“接口”,当然c语言里没有接口的说法。    c语言中实参和形参要么是基本的数据类型或者是结构体类型,当然也可以指针(地址),由于在c语言规定数组名就是一个地址,因此也可以把数组规定到指针的行列。另外,不要天真的以为指针是一种数据类型,int a;int ×p=a;指针因
今天是我第一天写博客,最近一直在看c语言的书。函数调用是一个非常重要的知识点,相当于各个模块的“接口”,当然c语言里没有接口的说法。
   c语言中实参和形参要么是基本的数据类型或者是结构体类型,当然也可以指针(地址),由于在c语言规定数组名就是一个地址,因此也可以把数组规定到指针的行列。另外,不要天真的以为指针是一种数据类型,int a;int ×p=a;指针因为存储了某种类型变量的地址而指向某个变量。下面就分两种情况来讨论一下。
  首先,不管怎样,实参到形参都是值传递,只不过有时是一个具体的值,有时是值的地址。
  1、当参数为基本数据类型变量或者是结构体变量时,实参把对应的变量的值传给了形参,为了体现出函数调用所取得的效果,可以选择在函数体设一个返回值即return a;作为函数的出口然后在主调函数里设一个变量接受这个return的返回值(如求两个整数的最值)。另外根据我看书的经验,也可以直接通过在函数体里执行输出语句将结果打印到屏幕上(如输出一个顺序表里的值)
  2、第二种方式就是老师经常强调的传递指针,在内存块里存储着各个数据的指针,当实参把值传递给形参时,实参和形参共同指向同一段内存块,在被调用的函数里,对数据的各种操作都可以在主函数里体现,因为主函数里的实参始终指向内存块的一个地址。
如void main(){int b[10],*p;p=a;paixu(a,10);}void paixu(int a[],int n){.....}p就是一直指向数组a的首地址。
总之,慢慢体会,多看书,一定会有所收获。每一个在程序员道路上行走的屌丝都能看到新世纪的阳光。

c语言中的函数调用

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
调用惯例(Calling Convention):函数的调用方和被调用方对于函数如何调用需要有一个明确的约定,
众所周知,C语言中的scanf函数的作用是从标准输入设备(通常是键盘)读取输入值,并存储到参数列表中
某天,王尼玛写了段C程序: 1 #include <stdio.h> 2 3 void input() 4 { 5 int i; 6 int arra
++i :自增运算符 功能:i 自增1后再参与运算 #include <stdio.h> int main() { int i = 8; p
##和# 今天应该是“长见识”了,毕竟#用的多,但是##我用的太少了。或者说,我感觉##在代码里面出现
在学习Linux内核的时候,我们经常会发现它里面的好多思想是借鉴像Java,C++等高级语言的面向对象。
语言的歧义 [酷壳链接] [CSDN链接] 谁说C语言很简单? [酷壳链接] [CSDN链接] 6个变态的C语言Hello
正则表达式(Regular Expressions),又被称为regex或regexp,是一种十分简便、灵活的文本处理工具。
 auto 局部变量(自动储存) break 无条件退出程序最内层循环 case switch语句中选择项 char 单
问题及代码: /* *烟台大学计算机与控制工程学院 *文件名称:test.cpp *作 者:张志康 *完成日期:2
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号