c++学习(1)

1、cin和cout的使用

cout.put()用来显示一个字符。

每次读取一行字符串输入

(1)面向行的输入:getline()

getline()读入一行,直到遇到换行符才结束,字符中间可以有空格。

输入字符数组和字符串的不同:

char name[10];

string grade;

cin.getline(name, 10);

getline(cin, grade);

()面向行的输入:get()

它和getline()的不同是get()遇到换行符不会丢弃,而是留给下一个需要输入的字符。从而会导致下一行的提示无法输入的问题。


2、string类简介

注意:

头文件cstring是C语言的形式,提供strcpy()和strcat()等函数

而头文件#include<string>才是提供string类的

CString是MFC的类

string类可以赋值,拼接和相加。而char是不可以的。char需要使用cstring中的strcpy()函数等


3、使用new来分配内存

int *p = new int

new操作符的作用:为XX数据类型(int型)分配内存,new将找到一个长度合适的内存块,并返回该内存块的地址给p

使用new要相应的使用delete来释放分配的内存空间


注意:

int *ps = new int;

int *pq = ps;

delete ps;

上面的代码是错误的,它创建了两个指向同一个内存块的指针。因为delete释放了内存块之后,另一个就变成了野指针。当然更不能delete ps 和 delete pq

这样会释放同一块内存两次。


4、未初始化的指针不能使用

char *p;

(1)cout<<p<<endl;

未初始化的指针无法控制它将如何使用。故错误

(2)cin>>p;

p未被初始化,不知道信息存储在哪里。若是这样操作可能会改写内存中的信息。

char animal[20] = "bear";

法一:

将p指向字符串animal

p = animal;

法二:

开辟一块内存空间,然后将animal复制到里面

p = new char[strlen(animal) + 1];

strcpy(p, animal);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值