C语言基础知识学习(函数)

puts:输出字符串到终端
puts(字符数组)
遇\0结束

gets:输入字符串到字符数组,得到一个函数值(该字符数组的起始地址)
get(字符数组)

strcat:连接两个字符串
strcat(字符数组1(或者字符串),字符数组2(或者字符串)
字符串2接到字符串1后面,返回字符数组1的地址,字符数组1要足够大

strcpy:复制字符串
strcpy(字符数组1,字符数组2(字符串2))
strncpy(字符数组1,字符数组2(字符串2),n)
(字符数组1)必须是数组名形式且足够大,n取整数,复制字符数

strcmp:比较
strcmp(字符串1,字符串2)
1=2 返回0
1>2 返回正
1<2 返回负
strncmp(字符串1,字符串2,n)
比较前n个字符

strlen:求长度
strlen(字符数组)

strlwr:大写转换成小写
strlwr(字符串)

strupr:小写转换成大写
strupr(字符串)

函数调用的步骤:
1、通过函数名找到函数入口地址
2、给形参分配空间
3、值传递/地址传递
4、执行函数体结构
5、返回
6、释放空间

形参:定义函数时函数名后面括号中的变量名
实参:调用函数时函数名后面括号中的表达式

值传递:
函数调用时,为形参分配单元,并将实参的值复制到形参中;
调用结束,形参单元被释放,实参单元仍保留并维持原值;
特点:
形参与实参占用不同的内存单元;
单向传递;
这里写图片描述

地址传递:
函数调用时,将数据的存储地址作为参数传递给形参;
特点:
形参与实参占用同样的存储单元;
“双向”传递;
实参和形参必须是地址常量或变量;

这里写图片描述

” “在当前目录
< >在系统指定目录

宏函数:
优点:预处理阶段被执行,只作简单替换,不占用过多的内存空间,用时间换空间,适用于简单处理任务
缺点:替换需消耗时间,只作简单替换,不做语法检查,不安全
自定义函数:
优点:在执行时被调用,相对于宏替换时间短,函数调用和返回相对安全
缺点:占用过多内存空间

猜你喜欢

转载自blog.csdn.net/qq_37831145/article/details/78296042