嵌入式入门学习笔记,遇到的问题以及心得体会!
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)

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

被折叠的 条评论
为什么被折叠?



