1.学c笔记归纳 第二篇——基本数据类型2.学c笔记归纳 第三篇——常量3.学C笔记归纳 第四篇——static关键字(重点)4.学c笔记归纳 第五篇——指针(抽象点)5.学C笔记归纳 第六篇——结构体6.学C笔记归纳 第七篇——分支循环语句17.学C笔记归纳 第八篇——分支循环语句2_switch8.学C笔记归纳 第九篇——分支循环语句3_for_while_do while(附九九乘法表解析和三种方式实现)9.学C笔记归纳 第十篇——循环算法优化
10.学C笔记归纳 第十一篇——函数1
11.学C笔记归纳 第十二篇——函数2 声明和定义12.学C笔记归纳 第十三篇——函数3 递归(重点)13.学C笔记归纳 第十四篇——一维数组14.学C笔记归纳 第十五篇——二维数组库函数学习网站:
www.cplusplus.com/reference/clibrary
官方英文版:https://en.cppreference.com
官方中文版:https://zh.cppreference.com
尽量提高英文阅读能力,对后续学习工作帮助非常大。
函数命名都是有意义的,大多包含功能英文缩写,库函数的使用必须包含头文件。
函数的组成:
ret_type fun_name(para1,*)
{
statement;//语句项
}
ret_type 返回类型
fun_name 函数名
para1 函数参数
{statement;} 函数体,函数的实现
#include <stdio.h>
int max(int x, int y)
{
return (x > y ? x : y);
}
void print()
{
printf("void 无返回类型函数");
}
int main()
{
int a = 19;
int b = 29;
scanf("%d %d", &a, &b);
int bigger = max(a, b);
printf("%d\n", bigger);
print();
return 0;
}
函数传参时 要注意 修改形参的值 不会 影响实参的值
#include <stdio.h> void swap(int x, int y) { int temp = 0; temp = x; x = y; y = temp; printf("x=%d,y=%d\n", x, y); } int main() { int a = 1; int b = 10; swap(a, b); printf("a=%d,b=%d\n", a, b); return 0; }
a和b的值完全没变,这是为什么?
进入调试界面
发现,虽然将 a, b 的值传给了 x,y,但他们地址不同。修改x和y的值不会影响a和b的值。
综上,注意实参传形参时,形参是实参的临时拷贝,对形参的修改不会影响实参。
既然如此,我们直接将地址传入函数,再操作即可。
#include <stdio.h>
//void swap(int x, int y)
//{
// int temp = 0;
// temp = x;
// x = y;
// y = temp;
// printf("x=%d,y=%d\n", x, y);
//}
void swap(int* px, int* py)
{
int temp = *px;
*px = *py;
*py = temp;
printf("*px=%d,*py=%d\n", *px, *py);
}
int main()
{
int a = 1;
int b = 10;
/*swap(a, b);*/
swap(&a, &b);
printf("a=%d,b=%d\n", a, b);
return 0;
}

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了