new char()与new char[]区别

char *pc = new char(15); //开辟一个内存单元,并用括号里的初始化(用15来初始化你定义的指针所指向的那个char)char *pc = new char[15];  //开辟一个数组(定义了一个有15个char元素的数组)

PS:释放内存的方法也不一样:delete pc; delete []pc;

原文地址:https://www.cnblogs.com/inception6-lxc/p/8469745.html

时间: 2024-11-01 16:28:02

new char()与new char[]区别的相关文章

char 与 unsigned char的本质区别

在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别. 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-127~127,unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,因此无论如何都能表示256个数字. 在实际使用过程种有什么区别呢?主要是符号位,但是在普通的赋值,读写文

const char*、char*、char* const、char[]、string的区别

1.const char* p: p is a pointer to const char(char const* p 一样)   意思就是不能通过p指针来修改p指向的内容(但是内容可以修改).2.char* p      : p is a pointer to char   意思就是可通过p指针来修改p指向的内容3.char* const p: p is a const pointer to char   意思就是p指针是一个常指针,他指向的内存地址不能变,定义的时候就得初始化   一旦给指针

MYSQL, char 与 varchar的区别!

一.char 和 varchar 的区别: 1)取值范围: char:取值范围:0~255 varchar:取值范围:0~65535 2)空间占用与速度: char: 定长字符串,占用空间大,速度快,一般用于固定长度的表单提交数据存储,例如:身份账号.电话号码.密码等 varchar:变长字符串,占用空间小,速度慢 3)存储与检索数据: char:存储的数据是否达到了给定值得字节,都要占用给定值大小的空间,不足的自动用空格填充,在检索时后面的空格会被自动去裁剪掉. 如:定义  tel char(

C语言char s[] 和 char *s的区别

C语言char s[] 和 char *s的区别,下面这个回答讲解的很清晰. The difference here is that char *s = "Hello world"; will place Hello world in the read-only parts of the memory and making s a pointer to that, making any writing operation on this memory illegal. While do

char、signed char、unsigned char的区别

ANSI C 提供了3种字符类型,分别是char.signed char.unsigned char char相当于signed char或者unsigned char,但是这取决于编译器! 这三种字符类型都是按照1个字节存储的,可以保存256个不同的值. 不同的是取值范围signed char取值范围是 -128 到 127unsigned char 取值范围是 0 到 255 signed char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,

char varchar varchar2 的区别 (转)

char varchar varchar2 的区别       http://blog.csdn.net/honglei_zh/article/details/7172538区别:1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储. 2.CHAR的效率比VARCH

char *s 和 char s[] 的区别小结

目前中有不少c的程序,在与项目新成员的交流中发现,普遍对于char *s1 和 char s2[] 认识有误区(认为无区别),导致有时出现“难以理解”的错误.一时也不能说得很明白,网上也搜了一下相关文章发现一些写的比较好的,综合了一下当教育资料备用. char *s1 = "hello";char s2[] = "hello"; [区别所在] char *s1 的s1,而指针是指向一块内存区域,它指向的内存区域的大小可以随时改变,而且当指针指向常量字符串时,它的内容

char与unsigned char 区别

char 与 unsigned char的本质区别 http://bbs.csdn.net/topics/270080484 同一个内存内容:10010000 你用char*   解释是-112 你用unsigned   char*   解释是144 还是同样这个内存内容赋给整型值,用unsigned   char   类型还是会得到144,用char类型的就会是负数. 真正的差别还是取决于你的程序.某些情况这两种类型表示都行. 补充一下: char 可能是signed char,也可能是uns

char str[] = {"abcd"}和 char* str = {"abcd"}的区别

char str[] = {"abcd"}和 char* str = {"abcd"}的区别 char* get_str(void) { char str[] = {"abcd"}; return str; } char str[] = {"abcd"};定义了一个局部字符数组,尽管是数组,但它是一个局部变量,返回它的地址肯定是一个已经释放了的空间的地址. 此函数返回的是内部一个局部字符数组str的地址, 且函数调用完毕后 此

TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT选择 和 char varchar varchar2 的区别

TEXT.TINYTEXT.MEDIUMTEXT.LONGTEXT选择: 储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 - 1) 个字符. TEXT 最大长度是 65535 (2^16 - 1) 个字符. MEDIUMTEXT 最大长度是 16777215 (2^24 - 1) 个字符. LONGTEXT 最大长度是 4294967295 (2^32 - 1) 个字符 char varchar varchar2 的区别: 区别: 1.CHAR的长度是固定的,而VAR