C++字符串指针初始化问题

楚兴 发布于 2015/01/12 21:01
阅读 1K+
收藏 0
 C++与C里面的char* temp = (char*)malloc(100);相对应的语句是什么?
是char* temp = new char[100];
还是char* temp = new char();
或者char* temp = new char: 
这三种写法有什么区别?
加载中
0
0-1
0-1

new char[100]是100个元素, 其他是1个元素;前者释放为delete []temp;

char()带括号表示初始化,不填默认初始化为0
例如new char (97)等效于
char* ch = new char;
*ch = 97;  //print 为'a'

0
songtzu
songtzu

不确定你在描述什么。好好组织一下语言逻辑

首先,char * tmp = (char*)malloc( 100*sizeof(char) );//sizeof不能省

你想描述的应该是

char *tmp = new char[100]; 

char* temp = new char(); 
char* temp = new char: 两者没什么区别。

返回顶部
顶部