美文网首页
函数定义及函数调用、参数传值类型

函数定义及函数调用、参数传值类型

作者: SuperDing | 来源:发表于2016-09-19 08:51 被阅读0次

一、函数的定义:
1、函数:函数是具有某一特定功能的若干代码的集合,当需要使用这些代码实现该项功能的时候调用该函数的名字即可。
定义一个:
函数的返回值类型 函数名(函数参数类型 参数名a,函数的参数类型 参数名b)
{
函数体;
}

int func(int a,int b) //函数的定义
{
printf("%d %d\n",a,b);
return 0;
}
func(1,2); //函数的调用

注:1.函数原则上可以有无数个参数,但通常就3个左右,也可以不带参数
2.各参数之间用逗号分割
3.函数如果没有返回值,那么函数返回值类型为void,在函数结尾可以写return;也可以不写
4.如果函数有返回值,那么它返回什么值,函数的返回值类型就是相应的类型。
5.原则上一个函数只能最多有1个返回值。

函数的声明:如果函数的定义在调用的后面,在调用之前声明函数,建议函数的定义放在调用的前面(不用函数声明)
声明的方法,最简单的就是把定义函数的第一句话抄过去,带参数的函数,可以直接抄过去,也可以参数的名字不写,但是参数的类型必须要写

函数的使用:
1.函数必须先定义再使用,如果想先使用,必须在使用它之前声明它,声明的方法,最简单的就是把定义函数的第一句话抄过去,带参数的函数,可以直接抄过去,也可以参数的名字不写,但是参数的类型必须要写
2.使用函数通过调用该函数的名字,有带参数的函数要给它传递参数进去,不带参数的不传

2、函数定义的注意点:
1、函数定义不能嵌套定义(不能放在其他函数内)
2、函数除了main函数外,其他函数定义时,返回值类型不能省略。
3、如果函数的返回值是int float double char 指针等,函数必须要加return 返回值变量,
return后面的值的数据类型必须要与函数返回值的数据类型保持一致。
4、void:空类型
5、函数定义和声明后面的()里面的内容必须一致,函数参数名可以不写,但类型必须写。
6、
3、变量的作用区域分为:
全局变量:在函数外面定义的变量(要在程序开始的时候(所有函数前面定义)定义全局变量);全局有效。
局部变量:是在函数内部定义的变量,在函数内部使用。
注意:变量作用域决定变量的可访问
当局部变量和全局变量重名的时候,以最后见到的变量为准。

变量的存储方式:
静态存储:
动态存储:
4、
auto:自动变量,函数结束,则变量消失,空间释放。 int a=9;其实是 auto int a=9;
static:静态变量,声明出来必须有唯一确定值。
当程序开始使用的时候给变量开辟空间,直到程序结束后变量才消失,空间才释放
当程序第一次调用时保留这次调用的值,下次再使用时保留上一次的值
const:只能读取,不可修改
1》 int const a;const int a;等同
int a=1;
2》 int * const p;//p这个变量只读,将来这个指针只能指向a。
3》 const int *p;//使用p访问这个变量只读
4》 const int * const p;//使用p访问这个变量只读,p这个变量只读,将来这个指针只能指向a


二、传参类型实例:
-------------------------------------无参数

include <stdio.h>

void Print(); //如果函数的定义在调用的后面,在调用之前声明函数
void main()
{
Print();//函数的调用
}
void Print()//定义函数
{
printf("i am very good\n");
}
-----------------------------------有1个参数

include <stdio.h>

int Print(int);
void main()
{
int b=5;
int c;
c=Print(b); //a=b 赋值是个拷贝的过程
printf("c=%d\n",c);
}
int Print(int a)//函数的定义
{
printf("a=%d\n",a);
return a;
}
--------------------------------------------有一个指针参数
void swap(int *p,int q)//交换两个数的值
{ int tmp=
p;
p=q;
*q=tem;
}

int main()
{
int a=3,b=4;
swap(&a,&b);//指针参数 传地址,从地址上改变两个数的值
printf("a=%d b=%d\n"a,b);
}


怎么向一个函数里面传地址:

include <stdio.h>

void Print(int *); //参数是地址的时候
void main()
{
int a=5;
Print(&a); // int *p=&a
}
void Print(int p)
{
printf("a=%d\n",
p);
}

---------------------------向一个函数里传递数组:
方法1:

include <stdio.h>

void Print(int a[]); //参数是数组 函数声明
void main()
{
int b[5]={1,2,3,4,5};
int k=sizeof(b)/sizeof(int);//计算数组中数据的个数
Print(b,k);
}
//定义一个函数
void Print(int a[],int size) //参数是指针
{
int i=0;
for(i=0;i<size;i++)
printf("%d\n",a[i]);
}


方法2:

include <stdio.h>

void Print(int *);
void main()
{
int b[5]={1,2,3,4,5};
int k=sizeof(b)/sizeof(int);//计算数组中数据的个数
Print(b,k);
}
void Print(int *a,int size) //参数是指针
{
int i=0;
for(;i<size;i++)
printf("%d ",a[i]);
}

相关文章

  • 函数定义及函数调用、参数传值类型

    一、函数的定义:1、函数:函数是具有某一特定功能的若干代码的集合,当需要使用这些代码实现该项功能的时候调用该函数的...

  • 函数

    函数 本节内容包括: 函数的定义与调用 函数的参数与返回值 函数的参数名称 函数类型 函数嵌套 函数的定义与调用 ...

  • Swift 3.0学习笔记_10_函数

    函数的定义与调用, 函数的参数与返回值, 函数参数标签和参数名称, 函数类型, 嵌套函数

  • Swift-函数

    函数的定义与调用 无参数函数,有返回值(返回值类型String) 多参数函数,有返回值(返回值类型String) ...

  • Day6 函数(Functions)

    本页包含内容:- 函数定义与调用- 函数参数与返回值- 函数参数标签和参数名称- 函数类型- 嵌套函数 ** 1、...

  • Python函数参数

    参数类型 必选参数:在给函数传参数时,按照顺序,依次传值。 默认参数:就是在写函数的时候直接给参数传默认的值,调用...

  • swift学习笔记(6)--- 函数

    1、函数的定义与调用 2、函数参数与返回值 无参数函数 多参数函数 无返回值函数 多重返回值函数 可选元组返回类型...

  • 7章 初始函数

    本章大纲 函数定义与调用 参数与返回值 内置函数 函数的定义与调用 函数的定义 函数的调用 参数与返回值 内置函数...

  • C++学习笔记(与安卓平台无关)

    C++语法 const指针 template定义 定义函数时参数类型的选择 函数参数可以传值,传引用或者传指针,如...

  • Objective-C 闭包声明(Block)

    本地变量 属性 方法参数 方法调用传参 C函数参数 类型定义

网友评论

      本文标题:函数定义及函数调用、参数传值类型

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