一、字符串长度和大小的区别
- 大小:包括
\0
- 长度:不包括
\0
【数组名】是数组【首元素的地址】
#include <stdio.h>
#include <string.h>
int main1()
{
char *p = "china"; // 将指针赋给了p
char arr[] = "china"; // 将指针指向的内容赋给了arr指向的一段内存
// printf("sizeof p = %d\n", sizeof(p));
// printf("sizeof arr = %d\n", sizeof(arr));
// char* q = p;
char* q = arr;
int cnt = 0;
while (*q != '\0')
{
cnt ++;
q ++;
}
printf("cnt = %d\n", cnt);
int count = 0;
char* sq = p;
for (; *sq ++; count ++);
printf("count = %d\n", count);
return 0;
}
int my_strlen(char * q)
{
int cnt = 0;
for (; *q ++; cnt ++ );
return cnt;
}
int main()
{
char arr[] = "China";
int res = my_strlen(arr);
printf("res = %d\n", res);
return 0;
}