赞
踩
在C语言中,可以使用多种方式来创建字符串。但是,不同创建方式之间的区别,你了解么?。
C语言 -- 字符串字面量创建方式
char *str = "Hello world!"
上述代码块中,是大家常用的一种创建方式,但是这种方式背后的原理,主要有以下几点:
C语言 -- 字符串字符数组创建方式
char str[10] = "Hello world!"
底层原理:
eg: char str[10] = "Hello"; 会转化为 ['H', 'e', 'l', 'l', 'o', '\0']
。 使用’\0’,作为字符串的结尾标识。char *dyn_str = malloc(10 * sizeof(char));
if (dyn_str != NULL) {
strcpy(dyn_str, "Hello");
dyn_str[0] = 'h'; // 这是正确的,因为dyn_str指向的是动态分配的内存
}
free dyn_str;
底层原理:
当使用一个技术的时候,需要了解它的不同使用方式之间的差异,以及背后的实现细节,只有这样使用起来,才不会忐忑不安。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。