c语言,在函数中创建的指针,在其他函数中能直接调用吗

指针没有声明是外部变量。没有对函数中的指针进行return

能啊,在参数里调用指针其实只是用的只是地址,下面的程序就是调用数组a的首地址。
int reform(int *q,int n)
{....}
main()
{
int a[10],*p;
p=a;
reform(p,10);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-01
1、在函数中创建的指针,具有局部性,在其他函数中不能直接调用。
2、可以通过地址传递方式(可以实现双向传递)在其他函数中使用。
第2个回答  2009-05-01
不能啊,函数中定义的局部变量的出了大括号就被销毁了
第3个回答  2009-05-01
呵呵,楼主说话被理解成了两种解释,关键看作用域了。其实楼上2为说的都没有错

比如
void f1()
{
int *p =.....;
f2(p);//这当然是允许的
}

再如:
void f3()
{
int *p2 =.....;
}

void f4()
{
p2 = NULL;//这显然是不允许的
}本回答被提问者采纳
相似回答