复习指针的知识,大一的时候c就没有怎么学,结果今天写函数的时候就报错了,[Error] ‘swap’ was not declared in this sc,我自定义了一个swap交换函数,准备用指针实现,我利用的是直接交换二个变量的地址,自定义的函数要对原变量操作,所以需要用到引用&,下面是具体代码。
/*指针的引用*/
#include<stdio.h>
void swap(int* &p1,int* &p2);
/*在c语言中如果自定义的函数写在main函数的后面,
那么要进行函数的声明,否则就会报错,
如果不想进行函数声明,就把自定义的函数写在main函数的前面*/
int main(){
int a=1,b=2;
int *p1 = &a, *p2 = &b;
swap(p1,p2); //传入的是一个指针变量,所以自定义的函数参数也要是指针类型的
printf("a=%d\n",*p1);
printf("b=%d\n",*p2);
return 0;
}
void swap(int* &p1,int* &p2){//这里的符号是引用,是对原变量操作
int *temp = p1;
p1=p2;
p2=temp;
}
报错信息
:
问题解决
:加了个函数声明就可以了
是因为在c语言中如果自定义的函数写在main函数的后面,那么要进行函数的声明,否则就会报错,如果不想进行函数声明,就把自定义的函数写在main函数的前面