| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 484 人关注过本帖
标题:请问指针可以这样用吗?
只看楼主 加入收藏
lian1227
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-10-4
收藏
 问题点数:0 回复次数:7 
请问指针可以这样用吗?
#include "stdio.h"
struct aa
{char *b;
}*p;
main()
{p=(struct aa *)malloc(sizeof(struct aa));
printf("请输入字符串\n");
scanf("%s",p->b);
}
这个字符指针能存放一个字符串吗?

[此贴子已经被作者于2007-10-11 17:25:19编辑过]

搜索更多相关主题的帖子: 指针 
2007-10-11 16:15
远去的列车
Rank: 1
等 级:新手上路
威 望:2
帖 子:205
专家分:0
注 册:2007-8-7
收藏
得分:0 
指针,别乱用啊,用之前请分配内存空间

C++学习
2007-10-11 16:30
wooginluers
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-10-10
收藏
得分:0 
不能。
struct aa
{char *b;
}*p;
main
{
printf("请输入字符串\n");
scanf("%s",p->b); /* 字符变量怎么能保存字符串,main函数定义也不对。*/
}

2007-10-11 16:34
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 
不能这样用,p代表数据类型,是一个指向结构体aa的指针类型,不能直接用p->b来引用结构体中的成员变量。
可以用p声明一个变量,再引用成员变量:

[此贴子已经被作者于2007-10-11 16:47:37编辑过]


英者自知,雄者自胜
2007-10-11 16:36
远去的列车
Rank: 1
等 级:新手上路
威 望:2
帖 子:205
专家分:0
注 册:2007-8-7
收藏
得分:0 

struct aa
{
char *b;
};

int main()
{
aa *p = new aa;
p->b = new char[100];
printf("请输入字符串\n");
scanf("%s",p->b);
delete p->b;
delete p;
return 0;
}

看看还有没有错


[此贴子已经被作者于2007-10-11 16:40:14编辑过]


C++学习
2007-10-11 16:40
远去的列车
Rank: 1
等 级:新手上路
威 望:2
帖 子:205
专家分:0
注 册:2007-8-7
收藏
得分:0 
C里对应改用malloc和free

C++学习
2007-10-11 16:46
lian1227
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-10-4
收藏
得分:0 
可是我用TC编绎的时候为什么能通过.

2007-10-11 17:16
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
因为各个编译器他们需要的库函数不同。
比如你用的是TC编译器,需要用到getch()函数。在TC里面就不需要加头函数#include <conio.h>,但是在VC++ 6.0编译器里就必须加,如果不加,它会提示getch()函数没有被定义。

~~我的明天我知道~~
2007-10-11 18:37
快速回复:请问指针可以这样用吗?
数据加载中...
 
   



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

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