搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 为什么指针变量必须先赋值,再使用呢
标题:
为什么指针变量必须先赋值,再使用呢
只看楼主
夏日里的寒
等 级:
新手上路
帖 子: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
等 级:
论坛游民
帖 子:19
专家分:83
注 册:2010-8-1
第
2
楼
得分:10
第一种 只是给指针所指地址的值赋值 并未给指针地址赋值
可以改为 int *p; p = &i; 即可
Test.
2015-05-17 17:58
s1991101623
等 级:
新手上路
帖 子:1
专家分:2
注 册:2013-9-29
第
3
楼
得分:2
#include <stdio.h>
void main( )
{ int i=10;
int *p=&i;
printf("%d",*p);
}
2015-05-20 20:50
TAAAAB
来 自:湖南
等 级:
黑侠
威 望:
1
帖 子:243
专家分:635
注 册:2011-5-29
第
4
楼
得分:2
语法就是这样规定的。
你去澡堂搓澡,要把钱包放在澡堂的某个柜子,你觉得要不要先记住是哪个柜子
人有多懒,编程就有多难。
2015-05-20 21:23
z974532452
等 级:
论坛游民
帖 子:23
专家分:41
注 册:2015-5-10
第
5
楼
得分:2
它要指向地址 而地址里有包含的值
2015-05-20 22:00
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
6
楼
得分:2
把影子或瞄准器当真身,这是初学者或不老不嫩程序员常犯的错误。
授人以渔,不授人以鱼。
2015-05-20 23:44
tlliqi
等 级:
贵宾
威 望:
204
帖 子:15453
专家分:65956
注 册:2006-4-27
第
7
楼
得分:2
没错 不能把影子或瞄准器当真身
2015-05-21 02:24
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-445409-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.031478 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved