关于字符串使用注意的关键点
1.存储的地方
char *p = "lxshs";
/*
1. p是一个指针变量,“lxshs”是'l'的首地址值,p可以在栈区也可以在全局区,“lxshs”在常量区,
2. 通过*p = 'a',是会出现段错误的,常量区的内容不可修改,p = "lxshchc",这样做是可以的,
3. 是因为“lxshchc”是l的首地址,也在常量区,只是p指向的内容换了一个地方,并没用修改常量区的内容
*/
- strlen与sizeof的区别
strlen:是函数,传字符串首地址,计算\0前面的字符串长度
sizeof:是个用算符,char *p = "aaaaccc"; sizeof(*p) == 1 sizeof(p) ==4,都不是我们想要的内容,就可以用strlen
3.buf[100]赋值
初始时可以这样赋值的char buf[100] = ”lxshs“
buf = "aaaaaaaa";不可以这样赋值的必须是由memcpy进行赋值,注意清零memset