标题:指针的问题
只看楼主
小小小小叮当
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-3-3
结帖率:0
已结贴  问题点数:20 回复次数:5 
指针的问题
今天看教材刚刚到指针这一章的内容,遇到了这个问题:
char *s;cin s;
2017-03-03 22:09
小小小小叮当
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-3-3
得分:0 
上面的那段代码是错误,我不知道错在哪啊,求大神解答下。
2017-03-03 22:10
小小小小叮当
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-3-3
得分:0 
回复 楼主 小小小小叮当
上面的那段代码错在哪里?求大神解答。。。。
2017-03-03 22:10
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:7 
没有为s分配空间还是少了>>
程序代码:
#include<iostream>

using namespace std;
int main(void)
{
    char *s;
    s=new char[38];
    cin>>s;
    cout<<s;
    
    return 0;
}

早知做人那么辛苦!  当初不应该下凡
2017-03-03 22:58
阿呆ddf
Rank: 2
等 级:论坛游民
威 望:3
帖 子:3
专家分:24
注 册:2016-8-13
得分:7 
你定义的指针s没有初始化,访问未经初始化的指针通常会造成程序崩溃。
2017-03-04 19:48
烟雨晨曦
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:150
专家分:599
注 册:2017-3-5
得分:7 
char* s;
你这样定义系统会随机分配一个内存地址给s,指向可以修改的内存区域修改值当然没什么问题,如果所指向的是不可访问,或者不可修改的内存区域,就会报错。
通常char*s = NULL;这样定义
2017-03-05 20:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474727-1-1.html




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

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