C++primer初学者

1:在C++中,字符串字面值是常量,这就是为什么在声明中使用关键字const。例如

const char *bird = "wren";

2:一般来说,如果给cout一个提供一个指针,它将打印地址,但如果这个指针的类型是char *型的,则cout显示的是指针指向的字符串,如果要显示这种类型指针的地址,只能同强制转换符将其转化为整型,例如:

char *animal[20]="bear";

cout<<animal<<" at "<<(int *)animal<<endl;

此时输出结果是:fox at 0x0065fd30

3:strcpy()和strncpy()

char food[20]="carrots";  

strcpy(food,"flan"); //作用是将flan复制到food后面,但是,这有个问题,如果flan是dsffsdfergsdfsdgwdsfgsef大于20的字符串,复制后就会覆盖food后面的内存,所以, //此时最好用strncpy()

strncpy(food,"adsadfwedfdsfewfddsfqfasfd",19); //这样只复制前19个字符

4:注意,string中的函数strcpy()和strcat()必须是char型的,例如,一下的就不被允许:

string first_name="wang";

string last_name="xiang";

strcat(first_name,last_name);

5:利用new来分配内存时,返回的是地址,所以用new创建的变量都指针,new的结构式

int * pt=new int;

struct array;

array *pt=new array; //注意,其实结构体就相当于创建了一个数据类型

int *pt-new int [size]; //注意,在使用时,是pt[3].sss;不在是->了

6:在结构体重如果声明了一个string变量,必须用std::string(在main函数中声明是不用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值