1.字符串和字符基础
字符是构成源程序的基本单位,在源程序中,当一个字符被认为是一个字符常量。字符常量实际是一个整数,对应其ASCLL码中的值。
字符串是用一对双撇号引起来的,做为一整体对待的一串字符。组成字符串的字符可以是字母、数字一起各种特殊字符。
字符串的定义:字符串是多个字符组成的
单个字符定义:char ch = 'a';
字符串的定义:
1.char ch[ ] = {'a','b','c','d'};
2.char ch[ ] = "hello";
字符串的本质就是数组,只不过比字符数组多存了一个标志字符“\0”,"\0"就时字符串的结束标志。
char ch1[] = {'h','e','l','l','o'};
char ch2[] = {'h','e','l','l','o','\0'};
char ch3[] = "hello";//\0是字符串的结束标志
char ch4[] = "hello\0";
字符串长度的计算可以用sizeof( )和strlen( )函数计算,这两者的区别:
1.sizeof( )是运算符求得是在内存中占的空间字节数,strlen()势函数求得是字符串的长度。
2.sizeof()可以计算数据类型、变量、函数、数组和指针,strlen( )的参数必须是char * 型的指针。
3.sizeof()计算字符串时,计算字符串的结束标志\0,而strlen()函数计算字符串的实际长度,不包括\0。
strlen()是一个函数,他用来计算指定字符串str的长度,但不包括结束字符
#include<stdio.h>
int main()
{
char ch1[] = {'h','e','l','l','o'};
char ch2[] = {'h','e','l','l','o','\0'};
char ch3[] = "hello";//\0是字符串的结束标志
char ch4[] = "hello\0";
printf("%d\n",sizeof(ch1));
printf("%d\n",sizeof(ch2));
printf("%d\n",sizeof(ch3));
printf("%d\n",sizeof(ch4));//sizeof会计算字符串占的空间大小,包括结束标志
int i;
for(i=0;i<5;i++)
{
printf("%c",ch2[i]);
}
for(i=0;i<strlen(ch2);i++)
{
printf("%c",ch2[i]);
}
printf("\n");
printf(&#