陈皓专栏 【空谷幽兰,心如皓月】
芝兰生于深谷,不以无人而不芳;君子修道立德,不为困穷而改节。
登录
注册
空间
博客
好友
相册
留言
haoel的空间
haoel
北京
共
691
次访问,排名
407
好友
15
人,关注者
28
人
暂无
注册时间:2000-2-19
登录时间:2008-6-13
[加为好友]
[即时聊天]
[发私信]
haoel的个人资料
所在行业:
计算机软件
社区头衔:
荣誉专家 Blog专家
个人专长:
Unix
,
C
,
C++
专家分:
目前总共有723分
Delphi:236分 Web 开发:210分 扩充话题:100分
博客:
目前总共有1019条评论
访问量:454070
排名:97
文章数:71条
haoel的好友
k2eats
iamybj
jimzuo
liuyu790810
guojian_2008
mark0289
sunkey_programmer
weiyuhu362163474
dxmnh
sdaunch
chinayuanao
dlyhlq
yarao
zhangxinjuan
ncsidy0324
查看全部好友的状态
/
共15好友
haoel 的留言
lyheqs
发表于:2008-06-12
自学C语言也有一段时间了,是该给自己做个总结了!
这几天总是忘了或者说是混淆了指针的概念和指针的应用!
简单的代码最能说明问题!
void swap(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
int main(void)
{
int a,b;
int *pointer_1,*pointer_2;
scanf("%d,%d",&a,&b);
pointer_1=&a;
pointer_2=&b;
if(a<b)
swap(pointer_1,pointer_2);
printf("\n%d,%d\n",a,b);/*p1和p2还是和a,b保持原来的指向关系,只是a,b的值变了!*/
return 0;
}
/*swap函数其实是让*p1,*p2的值互换,也就是让a和b的互换*/
/*
#include <stdio.h>
int main(void)
{
int *pointer=NULL,i;
i=2;
pointer=&i;
printf("%d %d\n",*pointer,i);
i=3;
printf("%d %d\n",*pointer,i);
return 0;
}
运行结果是2 2 3 3说明可以改变指针指向的变量的值!*/
这段话来自于我才买的一本《C大学教程》第5版!
“在c语言中,可以使用指针和间接寻址运算符(*)来模拟按引用调用。当需要修改函数调用语句中的实参时,就必须将这个实参的地址传递给函数。“
我在思考,什么是”模拟引用调用“,就是说C语言向函数传递实参都是按值调用?C++中才有真正的按引用调用?
可以这样理解不?
ihuangliang
发表于:2008-06-07
前辈,如果有《用GDB调试>>电子版,请给我发送一份好吗?我的mail:
ihuangliang@gmail.com,谢谢!
ihuangliang
发表于:2008-06-07
前辈,真要好好感谢您的文章,非常好,对我这样的菜鸟非常有帮助
than123
发表于:2008-05-23
你好
有没有《用GDB调试>>电子版,在网上到处找都没有找到.如果有的话能给我发一份吗.我的邮箱是:than123@126.com先在这里谢谢了
给haoel的留言