指针都要初始化吗
比如
void swap(int *x,int *y)
{
int a;
a=*x;
*x=*y;
*y=a;
}
这个交换函数里指针不都没初始化嘛
[解决办法]
[解决办法]
- C/C++ code
int a=21,b=25;int *p = &a;int *q = &b;swap(p,q);
[解决办法]
调用函数的时候传递指针,不就相当于初始化了吗。
[解决办法]
你在调用该函数的时候就有地址传进来嘛,这样就对指针赋值了啥
[解决办法]
这个是函数传进来的参数,怎么能在函数里初始化呢。lz理解错了,应该是在定义指针的时候初始化,现在是在调用的时候,这个参数是从外边传来的,在传进来的时候必须是合理值,初始化后的啊
[解决办法]
- C/C++ code
void main(){ int n0=5,n1=6; swap(&n0,&n1); // 用n0的地址初始化x,n1的地址初始化y}
[解决办法]
swap 函数里的形参通过实参传地址过来了,
结果将两个指针指向的数值交换。
- C/C++ code
#include <stdio.h> void swap(int *x,int *y) { int a; a=*x; *x=*y; *y=a; } void main() { int *pn, *pm; int i = 100; int j = 33; pn = &i; pm = &j; printf("%d, %d\n", *pn, *pm); swap(pn, pm); printf("%d, %d", *pn, *pm); }
[解决办法]