C 指针(Pointer)
指针在函数中的运用
先上真理, 估计也还是老师上课讲函数时候常重复的那几句,不过这就是真理:
- 函数实参的传递方式是值传递
- 注意“虚实结合”
值传递对于指针在函数中的应用来说,最显著的优势就是可以改变实参的值.下面还是简单梳理一下. (会重复一些之前的例子)
基础指针
#include <stdio.h>
//swap-指针作形参从而达到改变实参传出多个变量的效果
void swap(int * pointer1, int * pointer2){
int mid; //必须是int变量而不是 int * 防止对原本的数据破坏
mid = * pointer2;
* pointer2 = * pointer1;
* pointer1 = mid;
}
//void swap( int x, int y ){
// int mid;
// mid = x;
// x = y;
// y = mid;
//} 此函数达不到交换两个数的效果, 遵循调用函数”值传递“的方式,只改变了形参没改变a, b.
void swapc (char * a, char * b) {
char c;
c = * a;
* a = * b;
* b = c;
}
int main(){
int a, b;
int * pointer_1, * pointer_2;
pointer_1 = &a