C语言中如何定义字符串?

Python015

C语言中如何定义字符串?,第1张

可以通过字符数组或字符指针来定义字符串,也可以用宏定义对常量字符串进行定义。

下面通过举例来分别进行说明:

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’

参考资料来源:百度百科-字符串