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