读书人

指针都要初始化吗,该怎么解决

发布时间: 2012-03-09 16:54:57 作者: rapoo

指针都要初始化吗
比如
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);    }
[解决办法]

读书人网 >C语言

热点推荐