SupKevin 发表于 2017-3-14 17:16

【C语言笔记】指针应用举例

本帖最后由 SupKevin 于 2017-4-4 17:15 编辑

# include <stdio.h>

int main(void)
{
         voidhuhuan(int * p,int * q);
         inta =3;
         intb = 4;
         huhuan(&a,&b);
         printf("%d%d",a,b);

         return0;
}
void huhuan(int * p,int * q)
{
         intt;
         t= *p;
         *p= *q;
         *q= t;
}
上面的例子是利用指针互换两个数字的经典题目,                                 

当给a,b分配好了空间以后就,


其中p q 的内容在这里可以理解为a,b的原始地址。改变的只是a,b的地址(其实这样说也是不准确的,因为,当a,b分配好了内存之后就马上释放掉了)下面的是正确的代码:
# include <stdio.h>

int main(void)
{
         voidhuhuan(int * p,int * q);//函数的声明
         inta =3;
         intb = 4;
         huhuan(&a,&b);
//因为下面的函数定义的是int * 型的,传给所以这个地方是(&a,&b)而不是(a,b);如果还是(a,b)的话,与int*型不符。具体的流程是1.int a;int b2.触发huhuan(&a,&b);3.调用函数void huhuan(int * p,int * q)实现功能。

         printf("%d%d",a,b);

         return0;
}
void huhuan(int * p,int * q)
{
         intt;
         t= *p;
         *p= *q;
         *q= t;
}
看到这里的时候顺便复习巩固了一下函数的一些细小的问题,当时对于函数调用的流程没怎么仔细看,现在就以上面的例子说明一下,顺便提醒一下自己。所有的说明在上例中用注释一一列出。

SupKevin 发表于 2017-3-14 20:51

一叶成林 发表于 2017-3-14 20:10
正在自学 这个月考二级C 好没信心啊

郝斌老师的c语言视频很不错,适合初学者

一叶成林 发表于 2017-3-14 22:14

SupKevin 发表于 2017-3-14 20:51
郝斌老师的c语言视频很不错,适合初学者

我看着他的视频了 快看完了

fehlal 发表于 2017-3-14 17:34

C语言 好怀念呐

张爱乐林 发表于 2017-3-14 17:44

可以,共勉

E飞翔 发表于 2017-3-14 17:48

{:301_990:}看不懂C代码的说。

吾要开始学习ing 发表于 2017-3-14 17:54

现在非常想学c语言啊   

zymshouji 发表于 2017-3-14 18:02

大学时候学过,那会学的还不错,可惜后来荒废了

一叶成林 发表于 2017-3-14 20:10

正在自学 这个月考二级C 好没信心啊

SupKevin 发表于 2017-3-14 20:52

谢谢大家的支持!{:301_971:}!!!

大虾米的爱情 发表于 2017-3-14 20:57

{:1_906:}楼主加油,共勉
页: [1] 2
查看完整版本: 【C语言笔记】指针应用举例