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

一、函数的定义:
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]);
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容