嵌入式学习DAY6 --- 一维数组字符串处理相关的函数、二维数组讲解、指针初步讲解!

本文介绍了嵌入式系统中常用的C语言字符串处理函数,包括strlen、strcpy、strcat及strcmp的功能与使用方法,并探讨了二维数组的概念及其应用。

嵌入式入门学习笔记,遇到的问题以及心得体会!
DAY6

概括:
一,字符串处理相关的函数:
1,strlen
2,strcpy(strncpy)
3,strcat(strncat)
4,strcmp(strncmp)
二,二维数组
数组的特点:
(1)数据类型相同
(2)内存连续

如何定义一个一维数组?
存储类型 数据类型 数组名[元素个数];
如何定义一个二维数组?
存储类型 数据类型 数组名[行数][列数];

三、指针:

地址:内存单元的编号(内存都是以字节为单位进行划分,以编号的形式来代表每一个字节在内存中的位置)
指针:因为一个编号(地址)对应一个独立的字节空间,有这种指向关系存在,所以形象的把地址也称为指针

笔记:

一维字符数组:本质:就是一个字符串
一,字符串处理相关的函数:
1,strlen
2,strcpy(strncpy)
3,strcat(strncat)
4,strcmp(strncmp)


(1)strlen :
函数功能:求字符串长度的函数

#include <string.h> //头文件
//函数原型:
size_t strlen(const char *s);

简易版:
int strlen(数组名);

#include <stdio.h>
#include <string.h>

int main(int argc, const char *argv[])
{
   
   
	char str[20] = {
   
   0};
	gets(str);

	//int len_str = strlen(str);
	//printf("len_str = %d\n",len_str);
	printf("len_str= %d\n",strlen(str));
	return 0;
}


(2)strcpy: 复制字符串

#include <string.h>

char *strcpy(char *dest, const char *src);

char *strncpy(char *dest, const char *src, size_t n);

简化版:
strcpy(数组名1,数组名2);----》将数组2中的内容复制到数组1中去

#include <stdio.h>
#include <string.h>

#define M 20
#define N 10
int main(int argc, const char *argv[])
{
   
   
	//实现字符串之间的拷贝
	char str1[M] = {
   
   '\0'};
	char str2[N] = {
   
   0};

	printf("请输入两个字符串:\n");
	gets(str1);
	scanf("%s",str2);

	printf("before: str1 = %s\n",str1);
	
	printf("请输入需要拷贝的字符的个数:\n");
	int count;
	scanf("%d",&count);
	//越界检查
	if(count + 1 > M)
	{
   
   
		printf("str1 is so short!\n");
		return -1;//-1一般代表程序异常退出
	}
	strncpy(str1,str2,count);
	printf("after: str1 = %s\n",str1);
	return 0;//0代表成功正常退出
}

strncpy(数组名1,数组名2,N) ;–>将数组2中的前N个字符内容复制到数组1中去

#include <stdio.h>
#include <string.h>

#define M 20
#define N 10
int main(int argc, const char *argv[])
{
   
   
	//实现字符串之间的拷贝
	char str1[M] = {
   
   '\0'};
	char str2[N] = {
   
   0};

	printf("请输入两个字符串:\n");
	gets(str1);
	scanf("%s",str2)
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值