关于c 语言char类型数组

char a[10]; a="hello";//这种情况容易出现,a虽然是指针,但是它已经指向在堆栈中分配的10个字符空间,现在这个情况a又指向数据区中的hello常量,这里的指针a出现混乱,不允许!

参考百度回答:https://zhidao.baidu.com/question/744194843059556572.html

使用char类型数组代替string类型, 至于id前的0 可以通过printf格式化输出(%06d  前六位,不足六位用0填充)

而char类型数组的比较是运用 strcmp(a, b) 函数 (位于<string.h>库中 <cstring>)至于char类型数组的赋值也需要注意,不能运用 char a[8], char b[8]; a = b, a已经指向8个空间,不能再指向b的8个空间了,如果要使a 于 b相等 应该使用 strcpy(a, b)(将b的值赋值给a) char类型赋值 最好用 scanf("%s", a); 不需要添加 地址引用符号 a是a[0]元素的地址&a[0]    a + 1就是 a[0] + 1的地址 而 &a是整个a数组的地址; (部分编译器也支持&a这种写法);

猜你喜欢

转载自blog.csdn.net/qq_41698081/article/details/91789072