ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

内存操作函数

2022-04-24 19:35:43  阅读:169  来源: 互联网

标签:arr 函数 int char dest 内存 arr1 操作 strlen


1.strlen字符串求长度
//遇到\0停止
int len=strlen("abcdef");
printf("%d\n,len);

char arr[]={'a','b','c','d'};
int len = strlen(arr); //随机值 遇到f后面的\0停止

1.1如果要自己写一个strlen方法
a.计数器的方法
b.递归
c.指针-指针

#Include <stdio.h>
#include <assert.h>
int my_strlen(const char *str)
{
assert(str!=NULL); //判断是否是空指针
int count=0;
while(*str)
{
count++;
str++;
}
return count;
}

int mian(){
int len=strlen("abcdef");
}


1.2
if(strlen("abc")-strlen("abcdef)>0)
{
printf("1");
}
else
{
printf("0");
}

//返回的是无符号整数(两个strlen返回的都是无符号数,相减依然是无符号数) 所以是1
//默认返回类型的是size_t,用my_strlen()相减,返回类型是int返回 0


char* my_strcat(char *dest,const char * src)
{
char *ret=dest;
assert(dest);
assert(src);
//1.找到目的字符串的\0
while(dest)
{
dest++;
//2.追加字符串
while(*dest++==*src++)
{
;
}
}
}


strcmp比较两个字符串是否相等
strncat(arr1,arr2,4);在arr1后面,追加arr2的前四个字符,并且自动补\0

memory:内存拷贝
int arr1[]={1,2,3,4,5};
int arr2[5]={0};
memcpy(arr2,arr1,sizeof(arr1));

int arr[3]={1,2,3,4,5,6,7,8,9};
memmove(arr+3,arr,20);
可以将12345拷贝到原函数变成12123456789

 

标签:arr,函数,int,char,dest,内存,arr1,操作,strlen
来源: https://www.cnblogs.com/wchhxx/p/16187241.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有