C语言函数声明,函数头,函数体,传值传址

来源:互联网 发布:淘宝链接里的花店地址 编辑:程序博客网 时间:2024/06/06 12:37
#include<stdio.h>//void swap(int *num1,int *num2);//函数声明 告诉编译器函数的名称、返回类型和参数。void swap(int*,int*);//简易这样写,这样重载函数的时候,不容易搞错了//void swap1(unsigned int num1,unsigned int num2);//函数声明,先生声明后引用//在函数声明中,参数的名称并不重要,只有参数的类型是必需的,因此下面也是有效的声明:void swap1(unsigned int,unsigned int);void main(){     unsigned int a=60;         //0011 1100    unsigned int b=13;         //0000 1101    printf("交换之前:a=%d,b=%d\n",a,b);   //输出a,b的值    swap(&a,&b);    printf("使用传址交换之后:a=%d,b=%d\n",a,b);    swap1(a,b);    printf("使用传值交换之后:a=%d,b=%d\n",a,b);}//函数定义提供了函数的实际主体。void swap(int *num1,int* num2)//引用调用,传值调用//通过指针传递方式,形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作。{    *num1=*num1^*num2;    *num2=*num1^*num2;    *num1=*num1^*num2;}//函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:////    返回类型:一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void。//    函数名称:这是函数的实际名称。函数名和参数列表一起构成了函数签名。//    参数:参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。//    函数主体:函数主体包含一组定义函数执行任务的语句。void swap1(unsigned int num1,unsigned int num2)//传值调用//该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。{//    形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数时被销毁。    num1=num1^num2;    num2=num1^num2;    num1=num2^num2;}

结果:

交换之前:a=60,b=13使用传址交换之后:a=13,b=60使用传值交换之后:a=13,b=60