linux-c之函数(函数指针、函数传参、命令行参数)

一、函数的定义与声明、调用


#include <stdio.h>

int add(int a,int b);//函数声明


int main()
{
    int a = 5;
    int b= 6;

    int sum = add(a,b);// 函数调用
    printf("%d %d\n",sum,add(a,b));
}

int add(int a,int b)//函数定义
{
    return a + b;
}

传出参数:会从函数带出来的值(起到函数返回值的作用)

传入参数:原本有值,供函数使用

二、函数参数的传递

通过函数调用实现两个整数值的交换

#include <stdio.h>

void swap_2_int_1(int a,int b)//函数1
{
    int temp;
    temp = a;
    a = b;
    b = temp;
}

void swap_2_int(int *a,int *b)// 函数2
{
    int temp;

    temp = *a;
    *a = *b;
    *b = temp;
}

int main()
{
    int a = 5;
    int b = 6;

    swap_2_int(&a,&b);

    printf("%d %d",a,b);
}

这里写图片描述

如何确定传值还是传地址?

读(不修改)实参变量对应内存空间的值时,传实参变量名。
写(修改)实参变量对应内存空间的值时,传实参变量的地址

【总结的规则】
一维数组用元素指针传参。
二维数组用一维数组指针传参。
三维数组用二维数组指针传参。

指针数组用二维指针来传参。
函数用函数指针传参。

三、函数指针

函数指针

四、函数返回值

函数返回值的注意事项
①不能返回局部变量的地址
②返回值-1,0,1这些,尽量用宏
③主函数return 0的作用:正常退出(对操作系统负责,良好的编码习惯)
exit是结束一个程序,reurn 是结束当前函数

五、命令行参数

int main(int argc,int *argv[])
argc:命令行参数的个数
argv:存放命令行字符串

命令行参数详解

六、函数的编码规范
①函数名:函数名要能描述功能,动词+名次
②形参:只做接口,不成为工作变量,对形参做入口检查
③返回值:返回值要清楚明白
④函数内部:
(1)对全局变量小心使用,使用时应保护
(2)<200行,仅实现一个功能,具有独立性
(3)尽量不使用默认和强制类型转换,减少递归的使用
(4)不使用布尔类型,NULL也无意义,对于较长的变量,且多次引用,使用宏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值