字符串
ctrl c强制结束
ctrl z windows表示输入结束
ctrl d unix 表示输入结束
- "hello"长度是六。
- 两个相邻的字符串会被连接起来。
printf("hello"
"world");//相当于没换行
printf("hello,\
world");//相当于之间家了第二行的空格
printf("hello,\
world");//相当于第一种。
- 一种简便的输入字符串的方法
char str[100];
scanf("%s",str);
char * s="hello,world";
s为一个指针,指向字符串,由于在代码区,所以实际上为const char * s,这段字符串在代码段,只能读。
如果要修改,应该用char str[]="hello,world";
如果要处理一个字符串,用数组,
如果要构造一个字符串,用指针。
字符串可以表达为char *的形式,
但char * 不一定是字符串
char * 意思是这里有一个指针指向一段字节,
本意是一个指向字符的指针,可以指向字符。
只有有结尾的0时才叫指向字符串。
- 字符串输入输出
char string[8];
scanf("%s",string);
//scanf读入一个单词,读到空格、回车tab为止。
//scanf是不安全的,会越界,下述为一种安全的做法
scanf("%7s",string);//只读7个字符,
//后续内容会交给下一个%s
char * string;scanf("%s",string);
char *绝不是字符串,只是一个将来要指向字符(串)的指针,(可以等同得认为char str[]==char * str),一定要初始化为0
char str[100]="";//初始化为0.是一个空的字符串
char str[]="";//长度只有1.
- 字符串数组以及参数
char * a[]//指一个存着指向字符串的多个指针的数组。
char[][10]//指二维数组,每个char[0][10]是一个字符串(多个字符)
- 单字符的输入输出
int putchar(int c);//向标准输出输出一个字符,
//返回写了几个字符EOF(-1)表示写失败
int getchar(void);//从标准输入读入一个字符
- 字符串函数<string.h>
- strlen(array)
char str[]="hello"
strlen(str);//5
sizeof(str);//6