字符串篇
char str[5]; //类比整型数组
一、如何定义字符串:
1.定义字符串的第一种方式:
char str[]={
'a','b','c','d','e'};
for(i=0; i<sizeof(str) / sizeof(str[0]); i++){
printf("%c",str[i]);
}
2.定义字符串的第二种方式:
char str[5]="abcde";
for(i=0; i<sizeof(str) / sizeof(str[0]); i++){
printf("%c",str[i]);
}
3.定义字符串的第三种方式:
char str[]="abcdefghijk"; //元素个数会根据真实大小来默认分配;
for(i=0; i<sizeof(str) / sizeof(str[0]); i++){
printf("%c",str[i]);
1.和整型一样
2.和整型数组略像
3.一般用char *p=“hello”;
二、字符串的存储方式:
字符串在内存种,除了有效字符以外abc,还会自动在后面补充一个 ’ \0 ‘,作为字符串的结束标志
char str[] = "abc"; //数组的大小会根据初始化的时候元素个数来确定
printf("%s",str); //结果是abc
printf("数组的个数是%d\n",sizeof(str) / sizeof(str[0]) ); //结果是4! 是因为多了一个字符’ \0 ‘ 代表字符串的结束标志
1.和整型数组在存储上的区别:
字符串数组的存储方式:
1.数组:char a[]=“this is my”;
2.指针:char *a=“this is my”;
三、sizeof 和 strlen在字符串计算中的区别
真正计算有效字符长度用strlen
1.计算字符串中的个数:
!!不能用sizeof 来计算字符串中有效字符的个数
要用 strlen ,来计算字符串大小的时候,