下面通过举例来分别进行说明:
char str1[] = "HelloWorld" // 通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符
char *str2 = "HelloWorld" // 通过字符指针来定义字符串"HelloWorld",指针str2指向一个存放字符串"HelloWorld"的连续地址单元的首地址
#define str3 "HelloWorld" // 通过宏定义来定义字符串"HelloWorld",等价于str3="HelloWorld"
定义字符串的方法如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义字符串的几种方式
//字符串和字符数组的区别:最后一位是否是空字符
char names1[] = {'j', 'a', 'c', 'k', '\0'}
char names2[50] = "jack"
char * names3 = "jack"
printf("数组所占空间大小:%d\n", sizeof(names1))
printf("数组所占空间大小:%d\n", sizeof(names2))
//动态输入
printf("请输入新名称: ")
scanf("%s", names2)
printf("%s\n", names2)
return 0
}
扩展资料
字符串函数的应用
①连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.
例:concat(‘11’,'aa’)='11aa’
②求子串。
Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:copy(‘abdag’,2,3)=’bda’
③删除子串。
过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’delete(s,2,3)结果s:=’ae’
④插入子串。
过程Insert(s1,s2,I) 把s1插入到s2的第I个位置。
例:s:=abcinsert(‘12’,s,2)结果s:=’a12bc’
参考资料来源:百度百科-字符串