字符串(characterstring)是一个或多个字符的序列
"asdfghjkl"
1
char类型数组和null字符
C语言没有专门用于存储字符串的变量类型,字符串都被存储在char类型的数组中。数组由连续的存储单元组成,字符串中的字符被存储在相邻的存储单元中,每个单元存储一个字符。
数组末尾位置的字符\0。是空字符(nullcharacter),C语言用它标记字符串的结束。
意味着数组的容量必须至少比待存储字符串中的字符数多1
使用字符串
#include<stdio.h>intmain(){charname[40];printf("输入你的名字");scanf("%s",name);printf("你好,%s",name);return0;}
scanf()只读取了xiaowangkkk中的xiaowang,它在遇到第1个空白(空格、制表符或换行符)时就不再读取输入
字符串和字符
字符串"x"与字符’x’
'x’是基本类型(char),而"x"是派生类型(char数组)
"x"实际上由两个字符组成:'x’和空字符\0
获取字符串长度
strlen()函数给出字符串中的字符长度
sizeof()获取对象的大小
#include<stdio.h>#include<string.h>intmain(){charname[40];chars[]="asdfghjkl";printf("输入你的名字");scanf("%s",name);printf("你好,%s\n",name);printf("name%zd\n",sizeof(name));printf("name%zd\n",strlen(name));printf("s:%zd\n",sizeof(s));printf("s:%zd\n",strlen(s));return0;}
常量
#defineNAMEvalue
#include<stdio.h>#definepi3.1415intmain(){printf("%f",pi*5);}