听翁恺讲C语言9-字符串

字符串

a、字符串

空字符:。

字符数组:char word[]={'H','e','l','l','o','!'};

字符串:char word[]={'H','e','l','l','o','!',''};

word[0]->H word[1]->e ......word[6]->

I、字符串:

·以0(整数零)结尾的一串字符。

·0或''是一样的,但是和'0'不同。

·0标志着字符串的结束,但它不是字符串的一部分。

·计算字符串长度的时候不包括这个0.

·字符串以数组的形式存在,以数组或指针的形式访问。

·更多的是以指针的形式。

·string.h里有很多处理字符串的字符。(头文件)

II、字符串变量:

·char *ser = "Hello";

·char word[] = "Hello";

·char word[6] ="Hello"; //因为有结尾的零 所以是六。

·word[6]=;

III、puts()函数

puts函数和printf一样都属于stdio.h系列的输入/输出函数。但puts只显示字符串,而且在自动显示的字符串末尾加换行符。

IV、字符串字面量(字符串常量)
  1. 特点:用双引号括起来的内容, eg:"Hello" "Hello"会被编译器编译成一个字符数组放在某处,这个数组而长度是六,结尾还有表示结束的0。

    ·两个相邻的字符串常量会被自动连接起来。

#include <stdio.h>

int main()
{
	printf("请输入身高的英尺和英寸,"
					"如输入"5  7",表示5英尺7英寸");//连接字符串
	int foot;//(定义英尺)
	int inch;//(定义英寸)
		scanf("%d %d",&foot, &inch);
		printf("身高为%f米。
",
					((foot + inch / 12.0) * 0.3048));//注:将12改为12.0变为浮点数
								
	return 0;
}

  1. C语言的字符串是以字符数组的形态存在的。

    1·不能用运算符对字符串做运算。

    2·通过过数组的方式可以遍历字符串。

    3·唯一特殊的地方是:字符串字面量可以用来初始化字符数组。

    4·ansi c标准后 字面量后若没有间隔/用空格,就会默认为串联字面量。

    char greeting[50]="dasfff,ewe""asaf""fsas"

    等价于:char greeting[50]="dasfff,ewe asaf fsas"

    5·如果要在字符串内部使用双引号,则必须在双引号前加上反斜杠。(前后双引号前都要加上)

    6·字符串常量属于静态储存类别,这说明在函数中使用字符串常量,该字符只会被储存一次,在整个程序的生命期内存在,即使函数被调用多次。用双引号括起来的内容被视为指向该字符串储存位置的指针。

b、字符串数组

char **a
  1. · a是一个指针,指向另一个指针,那个指针指向一个字符(串)

· char a [] []

#include <stdio.h>

int main(void)
{
   char a[][10] = {
	"Hello",
};//或者是*a[]
printf("");

return 0;
}

原文地址:https://www.cnblogs.com/wpoem/p/12672894.html