文章目录

  • 一、字符串拷贝业务逻辑代码
  • 二、分离 主函数 与 字符串拷贝 业务模型

一、字符串拷贝业务逻辑代码


下面的代码 , 是 字符串 拷贝 最简单的代码 , 仅 使用 指针 遍历内存 , 实现了字符串拷贝功能 ;

上述操作 , 没有考虑 任何 软件 设计功能 ;

代码示例 :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main()
{// 定义一个字符串数组// "Hello World!" 常量在 全局区 的常量区// 然后 拷贝到了 栈内存中的 array 数组中char array[] = "Hello World!";// 在栈内存中定义 char[] 数组// 指定数组大小 20 个 char 元素char buffer[20];// 循环控制变量int i = 0;// 将 array 数组中的数据 , 拷贝到 buffer 数组中// 遍历时 , 只要遍历到的值不为 \0 , 就进行复制// 如果遍历到 \0 , 则直接退出 , \0 没有存储到 buffer 数组中for(i = 0; *(array + i) != '\0'; i++){// 使用指针操作 字符数组 进行拷贝赋值操作*(buffer + i) = *(array + i);}// \0 没有存储到 buffer 数组中// 此处专门进行 \0 字符存储buffer[i] = '\0';// 打印拷贝结果printf("buffer = %s\n", buffer);// 命令行不要退出system("pause");return 0;
}

运行结果 :

buffer = Hello World!
请按任意键继续. . .

二、分离 主函数 与 字符串拷贝 业务模型


将 字符串拷贝 抽象成 函数模型 , 传入 222 个指针 , 这两个指针分别指向一个数组空间 , 从一个指针指向的内存中 , 拷贝数据到另一个指针指向的内存中 ;

/** 实现字符串拷贝 ( 实现了模块化 )*      将 from 指针指向的字符串 拷贝到 to 指针指向的字符串换*/
void str_copy(char *from, char *to)
{// 如果 from 指向的字符不为 \0 , 则继续遍历// 此处无法将 \0 拷贝到 to 字符串中for(; *from != '\0'; from++, to++){// 拷贝字符*to = *from;}// 将字符串最后一个字节拷贝过去*to = '\0';
}

完整代码示例 :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>/** 实现字符串拷贝 ( 实现了模块化 )*      将 from 指针指向的字符串 拷贝到 to 指针指向的字符串换*/
void str_copy(char *from, char *to)
{// 如果 from 指向的字符不为 \0 , 则继续遍历// 此处无法将 \0 拷贝到 to 字符串中for(; *from != '\0'; from++, to++){// 拷贝字符*to = *from;}// 将字符串最后一个字节拷贝过去*to = '\0';
}int main()
{// 定义一个字符串数组// "Hello World!" 常量在 全局区 的常量区// 然后 拷贝到了 栈内存中的 array 数组中char array[] = "Hello World!";// 在栈内存中定义 char[] 数组// 指定数组大小 20 个 char 元素char buffer[20];// 调用字符串拷贝函数str_copy(array, buffer);// 打印拷贝结果printf("buffer = %s\n", buffer);// 命令行不要退出system("pause");return 0;
}

执行结果 :

buffer = Hello World!
请按任意键继续. . .

【C 语言】字符串拷贝 ( 字符串拷贝业务逻辑代码 | 分离 主函数 与 字符串拷贝 业务模型 )相关推荐

  1. pycharm pyqt5实现登陆界面_PyQt5可以实现界面和逻辑代码分离吗?大声说出你的答案!...

    必须的!!! PyQt5作为最强大的Python GUI设计模块,小编在这里告诉大家:PyQt5可以实现界面与逻辑代码分离,实现非常简单,用处特别大! 初学者在学习PyQt5时,使用Qt Design ...

  2. php 字符串替换 正则表达式,PHP中一些可以替代正则表达式函数的字符串操作函数...

    0x01:根据预定义的字符对字符串进行词法分析 /* * 在处理大量信息时,正则表达式函数会使速度大幅减慢.应当在需要使用正则表达式解析比较复杂的字符串时才能使用这些函数.如果要解析简单的表达式,还可 ...

  3. 计算器用户界面与业务逻辑的分离

    文章目录 1 计算器用户界面与业务逻辑的分离 1.1 分析 1.2 代码实现 1 计算器用户界面与业务逻辑的分离 1.1 分析 界面与逻辑: 基本程序架构一般包含: 用户界面模块(UI):接受用户输入 ...

  4. 通过MVC模式将Web视图和逻辑代码分离

    MVC模式(Model-View-Controller)常被用在Web程序中.如Struts框架就是一个基于MVC模式的Web框架.所谓MVC模式,就是将视图(也就是客户端代码,包括html.java ...

  5. 第十五课、用户界面与业务逻辑的分离------------------狄泰软件学院

    一.界面与逻辑 1.基本程序框架一般包括 (1).用户界面模块(UI) A.接受用户输入及呈现数据 (2).业务逻辑模块 A.根据用户需要处理数据 二.基本设计原则 1.功能模块之间需要进行解耦 2. ...

  6. 知识点10--如何自定义书写数据业务逻辑代码

    前八章知识点我们对数据的操作都是使用spring boot框架封装的API进行的查询操作,我在前边的知识点中也说了,后面会介绍如何自定义业务逻辑的查询,那本篇就完成这一目标. 首先我们要明白为何要自定 ...

  7. FluentData-新型轻量级ORM 利用T4模板 批量生成多文件 实体和业务逻辑 代码

    FluentData,它是一个轻量级框架,关注性能和易用性. 下载地址:FlunenData.Model 利用T4模板,[MultipleOutputHelper.ttinclude]批量生成多文件 ...

  8. 界面层与业务逻辑层分离

    原文连接:http://blog.csdn.net/sasoritattoo/article/details/8005331 看到这里的帖子http://topic.csdn.net/u/200808 ...

  9. 业务逻辑全写在sql_TiDB 在转转的业务实战

    作者介绍 陈维,转转优品技术部 RD. 世界级的开源分布式数据库 TiDB 自 2016 年 12 月正式发布第一个版本以来,业内诸多公司逐步引入使用,并取得广泛认可. 对于互联网公司,数据存储的重要 ...

最新文章

  1. *:学习心得——C语言----S1T62班 王作舟
  2. Nmap源码分析(主机发现)
  3. SM4密码算法(附源码)
  4. Linux服务器tomcat部署war包
  5. 逆向建模软件介绍_逆向技术在2代机修理中的应用
  6. OpenGL基于PBR的irradiance辐照度的实例
  7. POJ 3581 Sequence ——后缀数组 最小表示法
  8. nssl1446-小智的旅行【dp】
  9. java plus方法_Java.math.BigDecimal.plus()方法实例
  10. 安装 PrestaShop 1.6 - 详细的安装指南
  11. C++类构造函数初始化列表及初始化成员变量的误区
  12. Spring中的Service/DAO/DTO
  13. c语言 倒计时不清屏_C语言实现清屏操作
  14. Hadoop的shell命令
  15. js怎么实现ftp上传文件到服务器上,js ftp上传文件到服务器上
  16. 美学心得(第二百二十五集)罗国正
  17. MySQL 计算年龄
  18. macos复制粘贴快捷键 快速_苹果MAC系统复制粘贴快捷键是什么?
  19. CRM:网站证书过期怎么办
  20. C#删除word页眉页脚和最后一页

热门文章

  1. python开发_python中的range()函数
  2. 站长常用广告代码的表达大全
  3. 为什么用B+树做索引MySQL存储引擎简介
  4. TP5 行为Behavior用法说明
  5. 用户态/内核态、用户栈/内核栈
  6. poj2456 Aggressive cows(二分查找)
  7. 解决Maven报Plugin execution not covered by lifecycle configuration (转载)
  8. Android--获取高清的app图标
  9. jexus防止产生 *.core文件
  10. C# 操作 Database(Access SQL)