| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3319 人关注过本帖
标题:为什么指针变量必须先赋值,再使用呢
只看楼主 加入收藏
夏日里的寒
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-5-17
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:6 
为什么指针变量必须先赋值,再使用呢
1.#include <stdio.h>
  main(  )
       {    int   i=10;
             int   *p;
             *p=i;
             printf(“%d”,*p);
       }


 2.   #include <stdio.h>
    main(  )
       {    int   i=10,k;
             int   *p;
             p=&k;
             *p=i;
             printf(“%d”,*p);
       }
为什么第二种赋值方法才是正确的呢?第一种程序并不会报错,但运行时会使程序意外停止?
搜索更多相关主题的帖子: include 
2015-05-17 16:17
hoy0a1d
Rank: 2
等 级:论坛游民
帖 子:19
专家分:83
注 册:2010-8-1
收藏
得分:10 
第一种  只是给指针所指地址的值赋值   并未给指针地址赋值

可以改为  int *p;   p = &i;   即可

Test.
2015-05-17 17:58
s1991101623
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2013-9-29
收藏
得分:2 
#include <stdio.h>
 void main(  )
       {    int   i=10;
             int   *p=&i;
      
             printf("%d",*p);
       }

2015-05-20 20:50
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
收藏
得分:2 
语法就是这样规定的。

你去澡堂搓澡,要把钱包放在澡堂的某个柜子,你觉得要不要先记住是哪个柜子

人有多懒,编程就有多难。
2015-05-20 21:23
z974532452
Rank: 2
等 级:论坛游民
帖 子:23
专家分:41
注 册:2015-5-10
收藏
得分:2 
它要指向地址 而地址里有包含的值
2015-05-20 22:00
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:2 
把影子或瞄准器当真身,这是初学者或不老不嫩程序员常犯的错误。

授人以渔,不授人以鱼。
2015-05-20 23:44
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:2 
没错 不能把影子或瞄准器当真身
2015-05-21 02:24
快速回复:为什么指针变量必须先赋值,再使用呢
数据加载中...
 
   



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

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