| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 337 人关注过本帖
标题:大家来讨论下指针问题
只看楼主 加入收藏
qq181982453
Rank: 2
等 级:论坛游民
帖 子:45
专家分:16
注 册:2010-6-10
结帖率:22.22%
收藏
已结贴  问题点数:5 回复次数:4 
大家来讨论下指针问题
程序1
#include "stdio.h"
void fun(int *pa)
{
scanf("%d",&pa);
printf("%d\n",&pa);
printf("%d\n",pa);
}
void main()
{int a[]={1,2,3,4};
    printf("%d\n",a);
fun(a);
  printf("%d\n",*a);
  printf("%d\n",a);  
}

程序2
#include "stdio.h"
void fun(int *pa)
{
 scanf("%d",pa);
printf("%d\n",&pa);
printf("%d\n",pa);
}
void main()
{int a[]={1,2,3,4};
    printf("%d\n",a);
fun(a);
  printf("%d\n",*a);
  printf("%d\n",a);  
}
运行下给个说明,为什么数据是这样的?
搜索更多相关主题的帖子: 指针 
2010-07-11 00:36
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:3 
程序1
#include "stdio.h"
void fun(int *pa)/*pa得到数组的地址-58,*/
{
scanf("%d",&pa);/*修改pa这个地址*/
printf("%d\n",&pa);/* 输出pa的地址的地址-60*/
printf("%d\n",pa);/*输出pa所在的地址*/
}
void main()
{int a[]={1,2,3,4};
    printf("%d\n",a);/*这个输出-58,这个是数组的首地址*/
fun(a);  /*进行地址传值 */
  printf("%d\n",*a);/*输出1,因为没进行修改*/
  printf("%d\n",a);  /*输出-58*/
}
程序2
#include "stdio.h"
void fun(int *pa)
{
scanf("%d",pa);/*给pa所指向的位置赋值,pa所指向的位置是-58,它是数组的第一个位置,修改了a[0]*/
printf("%d\n",&pa);/*输出pa所在的地址的地址-60*/
printf("%d\n",pa);/*输出pa所在的地址*/
}
void main()
{int a[]={1,2,3,4};
    printf("%d\n",a); /*这个输出-58,这个是数组的首地址*/ /**/
fun(a);/**/
  printf("%d\n",*a);/*输出a[0]*/
  printf("%d\n",a);  /*输出-58,a的地址*/
}



[ 本帖最后由 do8do8do8 于 2010-7-11 13:00 编辑 ]

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2010-07-11 12:42
hao0716
Rank: 4
等 级:业余侠客
威 望:1
帖 子:353
专家分:222
注 册:2006-4-11
收藏
得分:0 
int是四个字节啊

2010-07-11 12:55
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:1 
指针没有什么可讨论的,往往学习C和C++的初学者把很多精力放在对指针理解上,这是非常不值的。在不了解底层的情况对指针永远只会有个朦胧的理解,有这时间还不如用在对汇编,机器码,以及内存管理,文件结构方面,当你对这个有个入门阶段,你就会发现指针就成孙子了,况且java等语言的安全机制就没有指针,C++也有智能指针,不要把大部分的时间浪费在指针上,对语言有个初步的了解后 就可以转入内核的研究,这样可以少走很多弯路的
2010-07-11 13:07
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:1 
对着4楼说:
指针的理解,并不是那么难。
理解汇编,机器码,内存管理,文件结构的时间加起来 是 理解指针的时间的 上万倍
至于走多少弯路 因人而异 路走对了,态度没跟上,出来混迟早要回去的。

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2010-07-11 13:18
快速回复:大家来讨论下指针问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011607 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved