C++ 编程基础(4)函数 | 4.1、函数概述
前言:
在C++编程语言中,函数是执行特定任务或计算值的独立代码块。它们是构建程序逻辑、实现模块化和代码重用的基石。通过函数,开发者可以将复杂的程序分解为更小、更易管理的部分,从而提高代码的可读性、可维护性和可测试性。
一、函数概述
1、声明与定义
在C++中,函数通过函数定义来创建,其语法包括返回类型、函数名、参数列表(可选)和函数体。例如:
int add(int a, int b) {
return a + b;
}
2、函数传参
C++中函数传参方式有两种:传递值与传递引用,如下:
2.1、传递值
传值传递是最基本也最常用的参数传递方式。在这种方式下,函数的形参是实参的一个副本。这意味着在函数内部对形参的任何修改都不会影响到实参。例如:
void func(int value) {
value = 10; // 修改形参,不会影响实参
}
int main() {
int x = 5;
func(x);
std::cout << x; // 输出5,实参未被修改
return 0;
}
2.2、传递引用
传引用传递允许函数直接访问和修改实参本身,而不是它的副本。这是通过传递实参的引用来实现的。例如:
void func(int& ref) {
ref = 10; // 修改形参,实参也会被修改
}
int main() {
int x = 5;
func(x);
std::cout << x; // 输出10,实参被修改
return 0;
}
3、函数指针
3.1、定义
函数指针是指向函数的指针变量。 因此函数指针本质上是一个指针变量,只不过该指针变量指向函数。C/C++中,每一个函数都有一个入口地址,函数指针就指向函数的入口地址,可以通过函数指针来调用函数。例如:
int func(int x, int y) {
cout << x << ":" << y << endl;
return 0;
}
int main() {
// pfnFunc保存的就是func函数地址,pfnFunc与func值是一样的
int (*pfnFunc)(int x,int y) = func;
printf("%p\n", pfnFunc);
printf("%p\n", func);
return 0;
}
输出结果
00401350
00401350
Process returned 0 (0x0) execution time : 0.069 s
Press any key to continue.
3.2、函数指针声明
函数指针的声明方法为:返回值类型 ( * 指针变量名) ([形参列表])。常用的声明函数指针的方式有下面两种
// 方法一:声明一种函数指针类型(该方法比较常用)
typedef int (*TEST_FUNC)(int, int);
int func(int x, int y) {
cout << x << ":" << y << endl;
return 0;
}
int main() {
TEST_FUNC cb = func;
(cb)(10, 20);
// 方法二:定义一个函数指针变量
int (*pfnFunc)(int x,int y) = func;
// 通过指针调用函数
pfnFunc(10, 20);
(*pfnFunc)(10, 20);
return 0;
}
注意: 通过函数指针调用函数时,(*pfnFunc)与pfnFunc等价。
原文地址:https://blog.csdn.net/cloud323/article/details/143489269
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!