今天在写一个C语言实现strcat函数功能的函数
发现自己对C语言的初始化还存在一些问题,总结如下:
char str1[ ] ="hello";
char *str2 ="myword";
二者都是定义了一个字符串,但是str1是数组名,是一个常量,是不能被当做左值的
例如:str1 = str2; \\这样就会报错 错误 1 error C2106: “=”: 左操作数必须为左值
str2是一个指针,是个变量。但是,这样char *str2 ="myword";定义的字符串是不能改变
里面的字符常量的,因为这串字符是常量,不能被改变
1:二者都可以进行下标进行访问
例如printf("%c",str1[2]);
printf("%c",str2[2]); 这里不能str2[2] = 'e'; 字符串常量不能被修改
2:pstr1不能进行自加运算(++),因为常量不能被当做左值
pstr2可以
3:二者都可以*(pstr1+i)
*(pstr2+i);
以上算是我对今天所学知识的一个小小的总结吧