字符串和数组的解析

本文介绍了编程中的字符串和数组。字符串是由数字、字母、下划线组成的字符序列,可以通过字符数组、指针或宏定义定义。字符串函数如strcpy、strcat、strchr和strcmp用于操作字符串。数组是相同元素的有序集合,数组和字符串在内存中都是连续存储的,两者有共性。数组的指针可以访问整个数组,但不等同于整个数组的内存表示。

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

1、字符串
1)定义:由数字、字母、下划线组成的一串字符,编程语言中表示文本的数据类型。通常以串的整体作为操作对象。
2)定义字符串的方式:
a.通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符
char str1[] = "HelloWorld"; 
b.通过字符指针来定义字符串"HelloWorld",指针str2指向一个存放字符串"HelloWorld"的连续地址单元的首地址
char *str2  = "HelloWorld";  
c.通过宏定义来定义字符串"HelloWorld",等价于str3="HelloWorld"
#define str3 "HelloWorld"; 
3)字符串常用函数
a.函数名:strcpy
功能:串拷贝,函数返回一个字符串
用法:char* strcpy(char* str1,char* str2);
b.函数名:strcat
功能:字符串拼接函数,函数返回一个字符串
用法:char* strcat(char* destin,char* source);
c.函数名:strchr
功能:在一个串中查找给定字符的第一个匹配之处,函数返回一个字符串
用法:char* strchr(char* str,char c);
d.函数名:strcmp
功能:串比较,函数返回一个整型数值
用法:int strcmp(char* str1,char* str2);
2、数组
1)定义:相同元素按一定顺序排列的集合。
2)数组的特殊定义:
int arr[5];
int *p;
p=arr;
a.arr的值是该数组内存的首地址,其指向数组的第一个元素;但&arr是指整个数组的内存块,故arr和&arr的值是一样的,都是该数组的首地址,但他们的含义不一样,及sizeof(arr)不等于sizeof(&arr)
b.p=arr把数组的首地址赋给p,即p现在就是指向数组的首地址,通过p就可以访问整个数组,但是p这里只是是个指针变量,也就是p的本质没有改变,p不能和arr一样代表整个数组的内存
c.arr+1就相当于数组自加一样。
3、字符串和数组联系
1)二者都是一段连续的内存,共性较多;
2)字符在内存中是以ascll码存储的,以%d格式输出一个字符就是输出它的ascll码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值