指针问题面面看
int a[5]={1,2,3,4,5}; // 2个数组,也可能是2个结构,或函数
int b[5]={11,22,33,44,55};
pa=a;pb=b;
fun(&pa,&pb);
void fun(int **paa,int **pbb); //现在交换2个数组,用指针;
{
int *ti; //有人说用 *ti,/* 这个人说的没错.. */
ti=*paa;*paa=*pbb;*pbb=ti;
}
----------------解决方案--------------------------------------------------------
双向 只有在函数中有效,其他我没试过。
那么int *ti;
ti=pa;pa=pb;pb=ti; 这个怎么解释呢?把pa 的地址值赋给ti;还是ti指向pa?
----------------解决方案--------------------------------------------------------
本来 改变 指针的指向。就是改变了。所指向的内容。
双向 只有在函数中有效,其他我没试过。
那么int *ti;
ti=pa;pa=pb;pb=ti; 这个怎么解释呢?把pa 的地址值赋给ti;还是ti指向pa?
ti=pa; 是把pa指针指向的变量地址赋给指针ti,也就是说pa,ti两个指针指向同一个变量
----------------解决方案--------------------------------------------------------
真是高手 讨论中 我对指针 还没研究的这么热过呢 看看 学习!
----------------解决方案--------------------------------------------------------
本来 改变 指针的指向。就是改变了。所指向的内容。
双向 只有在函数中有效,其他我没试过。
那么int *ti;
ti=pa;pa=pb;pb=ti; 这个怎么解释呢?把pa 的地址值赋给ti;还是ti指向pa?
因为ti也是指针类型了,它里面存放的内容肯定就是地址了,三个语句交换的当然就是把pa的地址值传给ti了!!
----------------解决方案--------------------------------------------------------
双向传输 是什么意思我不懂
我的印象这不是c语言的概念
在c里面形参的改变与实参一点关系都没有
双向给我的理解就是实现了形参与实参的联系,一般意义上理解的是函数调用,把实参的值传递给形参,参与函数内的运算,如果是“双向的”,那就会把形参的改变传递给了实参。
如果再对双向深究,那就1000000000%会出错了。因为“双向”是国 人的名词>。
----------------解决方案--------------------------------------------------------