8.10函数

发布于:2022-10-30 ⋅ 阅读:(880) ⋅ 点赞:(0)

1.标准库:一系列的库函数

加入#include

2.函数的声明,定义,调用。

声明放在头文件,定义在源文件中单独开一个文件

定义在前,调用在后,或者整体在main函数之前.

3.自定义函数:

返回类型 函数名 (参数)

{

函数体

}

void 表示不传参或者无返回值

函数名:自定义的函数名有意义——

4.实参和形参:

实参:传过去的数,必须要有个准确的值。

形参:自定义函数内部代表实参的数,调用时函数形参实体化,形参才创建,占用内存空间,函数调用完自动销毁。

形参是实参的拷贝,形参修改不影响实参

5.传值调用和传址调用

传值:传递变量,不会对原值有什么影响(形参有自己独立的空间。)

有返回值。

传址:传递指针,可以改变原来的值。将传入的指针解引用,当成变量交换。注意:地址交换不了

eg:返回值类型 函数(指针类型)

*指针=指针指向的值

 

6.自定义函数参数为数组名时,实际上传递的是数组第一个元素的地址,就是指针。

因此在自定义函数不能用sizeof(arr)/size(arr[0])(4/4=1)来求元素个数。

只能把数组个数传进去。

7.链式访问:

把一个函数的返回值当作另一个函数的参数

printf(“%d”,printf("%d",43))

printf("%d",返回值),printf的返回值为打印的字符长度。先打印43,43的字符长度为二,再打印二。

结果432

7.镶嵌:

函数可以互相镶嵌。

8.字符串:

字符串"abc"实际上有四个字符a,b,c,/n

/n是字符串结束的标志

printf打印到/n为止。

字符在计算机存的是ascii码值

字符串打印:

printf("%s",arr1);

arr1为数组起始地址。

交换变量:

1.引用第三个变量

2.用和或差的形式

9.函数的调试和观察:

F10:1.进入调试界面。2.直接下一步

F11:进入嵌套的函数

具体库函数:

strcpy:拷贝字符串

头文件:string.h

char* strcpy (char*destination,char* source)

拷贝source指向的字符串,到destination指向的字符串,包括/0

返回的是destination的地址

char*ch=strcpy(arr1,arr2)

printf("%s",ch);

memset:定量修改字符串

void*memset(void*ptr,int value,size_t num);

ptr:指针

value:修改的值

num:修改的字节数

memset(arr1,'x',5);

详情:cplusplus.com - The C++ Resources Network


 


网站公告

今日签到

点亮在社区的每一天
去签到