內(nèi)存管理最后的練習(xí)題 怎么strcpy(str, "Hello imooc"); 結(jié)果只能傳一個(gè)字母
#include <string.h>
#include <iostream>
using namespace std;
int main(void)
{
??? //在堆中申請(qǐng)100個(gè)char類(lèi)型的內(nèi)存
??? char *str =new char [100];
??? //拷貝Hello C++字符串到分配的堆中的內(nèi)存中
?? ?strcpy(str, "Hello imooc");
??? //打印字符串
??? cout<<*str<<endl;
??? //釋放內(nèi)存
?? ?delete []str;
??? str=NULL;
?? ?return 0;
}
2016-09-12
? ? cout<<*str<<endl;
??? //釋放內(nèi)存
這句是有問(wèn)題的,直接用str就表示了這一個(gè)字符串,而在這里用*str,計(jì)算機(jī)會(huì)認(rèn)為是str[0]也就是第一個(gè)字母
2016-08-12
cout<<str<<endl; 這個(gè)就ok了,?cout<<str1<<"..."<<*str1<<endl;str已經(jīng)是一個(gè)指針了,指針的指針是指針指向地址的值,字符串的指針指向第一個(gè)字符的地址,第一個(gè)字符的地址的值就是Hello imooc 的第一個(gè)字母,即H