c-->字符串
c-->字符串
\0(数字)字符
字符串在结尾的位置隐藏 的一个\0的字符
\0是字符串的结束标志
#include <stdio.h>
int main(){
char arr1[] = "abc";
char arr2[] = { 'a', 'b', 'c' };
char arr3[] = { 'a', 'b', 'c' ,'\0'};
printf("123");
printf("%s", arr1);//打印结果为abc
printf("%s", arr2);//打印结果为abc+后续内存中的数据
printf("%s", arr3);//因为手动添加了字符串的结束标志\0,所以打印结果为abc
}
char
只能存储一个字符,不能存储字符串;
需要存储字符串需要定义字符数组:
int main(){
int arr[]="qwe";
}
strlen()获取字符串的长度
注意!使用strlen方法的时候需要引入头文件#include <string.h>
strlen()会计算第一个字符到\0之间的字符的数量,但不会将字符串的结束字符\0算进来
#include <stdio.h>
#include <string.h>
int main(){
char str[] = "string";
int strnum=strlen(str);
printf("%d", strnum);
}
另一种情况:
char arr2[] = { 'a', 'b', 'c' };
printf("%d\n", strlen(arr2));//打印结果为15
#include <stdio.h>
int main(){
char arr1[] = "abc";
char arr2[] = { 'a', 'b', 'c' };
char arr3[] = { 'a', 'b', 'c', '\0' };
printf("%d\n", strlen(arr1));//打印结果为3
printf("%d\n", strlen(arr3));//打印结果为3
printf("%d\n", strlen(arr2));//打印结果为15,
// arr2由于此数组中没有字符串结束符号\0所以strlen方法会在内存中继续计算字符串的数量z直达找到\0为止
}