Hello!彦祖们,俺又回来了!!!,继续给大家分享 《C语言从不挂科到高绩点》课程!! 本节将为大家讲解C语言中非常重要的知识点-指针:
本套课程将会从0基础讲解C语言核心技术,适合人群:
- 大学中开设了C语言课程的同学
- 想要专升本或者考研的同学
- 想要考计算机等级证书的同学
- 想要从事C/C++/嵌入式开发的同学
===============点个关注吧==============
======================================
10.7 指针与函数
10.7.1 指针变量作为函数的参数
前面讲解的过程中:形式参数的改变不会影响实际参数。形式参数没有数据,只有当运行起来之后,实际参数将值传递给形式参数之后,形式参数才会有值。实参将值传递给形参之后,两者就断开联系了。那么在函数中对形式参数的操作,就不会影响实际参数。
但是在实际开发过程中,往往也需要通过形式参数来改变实际参数。此时,可以将实际参数的地址值传递给形式参数。这样的话,实际参数和形式参数指向的空间就是相同的了。这个时候,如果在函数中通过形式参数改变了空间的数据。实际参数中的数据也会随着一起改变。
像数组、字符串、动态分配的内存等一系列数据的集合,没有办法通过一个参数全部传入到函数的内部。这个时候只能传递他们的指针,在函数内部通过指针来影响这些数据的集合。
有的时候,对于整数,小数,字符等基本数据类型的操作,也必须使用指针。
比如:定义一个函数交换两个变量的值:
#include <stdio.h>
// 定义一个函数交换两个变量的值:
// 返回值类型 函数名(参数列表){};
void swap(int a,int b){
int temp = a;
a = b;
b = temp;
}
int main(){
printf("请输入两个值:");
int a,b;
scanf("%d %d",&a,&b);
printf("交换前:a=%d,b=%d\n", a,b);
swap(a,b);
printf("交换后:a=%d,b=%d\n", a,b);
return 0;
}