《带你学C带你飞学习笔记》—— SE29参数和指针

本文探讨函数设计原则,强调每个函数应实现单一功能。解释了形参和实参的区别,讨论了void类型函数的return语句使用,分析了strcpy函数中const修饰的含义,并涉及数组作为函数参数的传递。最后,提到了itoa函数的实现以及如何模拟实现printf函数的可变参数特性。
摘要由CSDN通过智能技术生成
  1. 函数的设计应该遵从什么原则?
    答:函数的设计应该包括函数的声明、函数的定义、函数的调用;

正解:我们说函数就是一种封装的方法,函数的设计应该遵从“一个函数仅实现一个功能”的原则,这样子我们就可以实现化繁为简的目标,将一个复杂的程序给拆解开来,变成一个个独立的功能,每个功能我们就用一个函数来实现。

1.“形参和实参,只是放在不同位置的同一个变量。”,这种说法正确吗?
答:不对,形参只有在函数定义里有作用,当出了函数体,形参什么也算不上。
不正确。它们是不同的两个变量,只是函数在调用的过程中,发生了类似“形参 = 实参”的赋值操作。

  1. void 类型的函数能否使用 return 语句返回?
    答:实际上void类型的函数是没有返回值的函数类型,但是你如果非要写一些return,编译器也不会报错。
    正解:解析:在有返回值的函数中,return 语句的作用通常是返回函数的执行结果,并结束当前函数,让 CPU 回到调用它的位置;在没有返回值的函数中也可以使用 return 语句,例如当检查到一个错误的时候提前结束函数并返回。

  2. 下面是 strcpy 函数的原型,请问为何第二个参数要使用 const 修饰?

char *strcpy(char *dest, const char *src);

正解:答:dest(Destination)参数指向用于存放字符串的目标数组,src(Source)参数指向待拷贝的源字符串。dest 参数是 char * 类型,而 src 参数是 const char * 类型,说明dest 所指向的内存空间在函数中是可以改写的,而 src 所指向的内存空间在函数中只能读不能写

  1. 请问下面这两个函数的定义等价吗?
func(int a[], int n)
{
        ……
}

and

func{int *a, int n}
{
        ……
}

答:应该等价,数组传入函数时,实际上传入的是数组首元素的地址。

  1. 请问下面代码中,变量 a 和变量 b 的值打印出来分别是多少?为什么?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值