指针变量作为函数参数

来源:互联网 发布:搜衣服的软件 编辑:程序博客网 时间:2024/06/06 04:51
void swap( int *p1, i nt *p2){   int * temp;    *temp= *p1; //不合法   *pl=*p2;    *p2= *temp; }

int *temp; // temp 指针指向未知地址,如0xB15B00B2
*temp = *p1; // 这里让0xB15B00B2保存的值为( *p1 ). 显然是不合法的。
指针声明的时候最好初始化为NULL; // int *temp = NULL;

因为temp指针没有分配内存。可修改为:

void swap(int *p1, int *p2){    int temp;    temp = *p1;    *p1 = *p2;    *p2 = temp;} //调用void main(){    int i = 1;    int j = 2;    swap(&i, &j);}

也可以:

void swap(int *p1,int *p2){    int *p;    p = p1;    p1 = p2;    p2 = p;}

swap(vector < Node*>&v){ //引用,不会随函数消亡而消亡

}
//主函数
swap(v);

0 0
原创粉丝点击