C语言入门——字符串(1)

本文围绕C语言中的字符串展开,介绍了字符串以0结尾的特性,以及其以数组形式存在、用数组或指针访问的特点。还阐述了字符串变量中指针和数组的选择,如构造用数组、处理用指针。此外,讲解了字符串的输入输出及字符串数组的相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串

  • 以0(整数0)结尾的一串字符
    0或’\0’是一样的,但是和’0‘不同

  • 0表示字符串的结束,但是他不是字符串的一部分

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

  • string.h中有很多字符串处理函数

  • char word[]={‘H’,‘e’,‘l’,‘l’,‘o’,‘!’,‘\0’};

字符数组,非字符串,不能用字符串的方式做计算

  • char word[]={‘H’,‘e’,‘l’,‘l’,‘o’,‘!’};

字符串变量

  • char *str=“Hello”;
  • 实际上str是const char* str;(只读,不能更改,修改只能用数组的方式定义)
  • char word[]=“Hello”;
  • char line[10]=“Hello”;

C语言的字符串是以数组的形式存在的

  • 不能用运算符对字符串做运算
  • 通过数组的方式可以遍历字符串

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

指针和数组的选择:

数组:这个字符串在这里

  • 作为本地变量空间自动被回收

指针:这个字符串不知道在哪里

  • 处理参数
  • 动态分配空间

如果要构造一个字符串——>数组
如果要处理一个字符串——>指针

字符串的输入输出

  • char string[8];
  • scanf(“%7s”,string); // 在%和s之间的数字表示最多允许读入的字符数量。
  • printf(“%s”,string);

字符串数组

#include<stdio.h>
int main(void)
{
	char *month[] = {   
		"January",
		"February",
		"March",
		"April",
		"May",
		"June",
		"July",
		"August",
		"September",
		"October",
		"November",
		"December",
	};
	
	int i;
	scanf("%d", &i);
	printf("%s\n",month[i-1]);

	return 0;
}
  • char *month[ ] - - > month[][number]//注意所省略的是后面必须带数字的中括号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值