| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1418 人关注过本帖
标题:[求助]关于指针的困惑
只看楼主 加入收藏
tanjinglei
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-8-15
收藏
 问题点数:0 回复次数:23 
[求助]关于指针的困惑
正在学指针,看到一些不明白的地方,希望高手指点一二:
在一个视频教程看到说:
char a[10],*p;
scanf("%s",a); 正确
scanf("%s",p); 错误 但稍后又出现 scanf("%s",p),却说是正确的。这种形式到底对吗?

还有,在指针中:char a[10];
*p=a; p=a; p=&a; *p=&a;
以上四种写法正确吗?如果正确,又有什么区别吗?
搜索更多相关主题的帖子: 指针 困惑 
2007-08-24 18:38
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 
只要有为p分配空间那就是对的,不然就是错的~~~~~

偶学编程,也许本身就是一个错。。。
2007-08-24 18:50
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 
以下是引用tanjinglei在2007-8-24 18:38:58的发言:
正在学指针,看到一些不明白的地方,希望高手指点一二:
在一个视频教程看到说:
char a[10],*p;
scanf("%s",a); 正确
scanf("%s",p); 错误 但稍后又出现 scanf("%s",p),却说是正确的。这种形式到底对吗?

还有,在指针中:char a[10];
*p=a; p=a; p=&a; *p=&a;
以上四种写法正确吗?如果正确,又有什么区别吗?

p没有初始化,当然会错,p=a是对的,其他都错


天行健,君子以自强不息!!QQ:68660681
2007-08-24 18:51
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
如果我们没有定义数组```只要一个指针```比如P``

那么我们怎么样才可以给这个P分配一些空间呢```


女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-08-24 19:38
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 

用malloc开辟内存给它


天行健,君子以自强不息!!QQ:68660681
2007-08-24 19:39
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
收藏
得分:0 

那说说t=NULL吧
t 为指针型


You have lots more to work on! Never give up!c language!
2007-08-24 19:48
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
以下是引用maoguoqing在2007-8-24 19:39:38的发言:

用malloc开辟内存给它

如果我定义一个*p(int)``那么用malloc给它开辟5个内存单元是不是这样用啊``:

int *p;
p=malloc(5);

这样以后p就有5个内存单元``想当于一个p[5]```???




女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-08-24 19:54
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
收藏
得分:0 
int *p;
p=(int *)malloc(5*sizeof(int));???

[此贴子已经被作者于2007-8-24 19:57:14编辑过]


You have lots more to work on! Never give up!c language!
2007-08-24 19:56
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
以下是引用栖柏在2007-8-24 19:56:37的发言:
int *p;
p=(int *)malloc(5*sizeof(int));???

看不懂```
为什么要在malloc前加(int *)
malloc后面的(5*sizeof(int))是什么意思啊```




女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-08-24 20:06
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
收藏
得分:0 

请问你几个问题
请问int在内存占几个字节(sizeof),也许看编译器
你存的是int类型吧
存几个就乘几
前面不正是你声明的类型??


You have lots more to work on! Never give up!c language!
2007-08-24 20:10
快速回复:[求助]关于指针的困惑
数据加载中...
 
   



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

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