C语言,通过多文件编辑定义字符指针,指向堆区空间,计算字符串长度

2023-10-30

通过多文件编辑,定义字符指针,分别指向堆区空间,计算字符串长度
要求:
1、定义函数实现堆区空间申请
2、在主函数中实现输入字符串
3、定义函数实现字符串长度 函数原型:size_t my_strlen(const char *s)
4、定义函数释放堆区空间

//head.h
#ifndef __HEAD_H__
#define __HEAD_H__

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

char *Request_space(int n);
void Input(char *p);
size_t my_strlen(const char *s);
char *free_space(char *p);

#endif
//test.c
#include "head.h"
char *Request_space(int n)
{
	char *p=(char *)malloc(sizeof(char)*n);
	if(p==NULL)
		return NULL;
	return p;
}
void Input(char *p)
{
	scanf("%s",p);
}
size_t my_strlen(const char *s)
{
	int i;
	for(i=0;*(s+i);i++);
	return i;
}
char *free_space(char *p)
{
	if(p==NULL)
		return NULL;
	free(p);
	p=NULL;
	return p;
}
//main.c
#include "head.h"
int main(int argc, const char *argv[])
{
	int n;
	printf("please enter n:");
	scanf("%d",&n);
	char *p=Request_space(n);
	Input(p);
	size_t len=my_strlen(p);
	printf("字符串长度为:%ld\n",len);
	free_space(p);
	return 0;
}

【运行结果】
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言,通过多文件编辑定义字符指针,指向堆区空间,计算字符串长度 的相关文章

随机推荐

  • 人工智能在游戏开发中的应用:你目前所需的 6 大 AI 工具

    游戏体量越大 质量越高 所要求的标准就越严格 尤其是在 AAA 级游戏市场 任何失误都可能导致你陷入极其棘手的境地 影响玩家体验 进而招致恶评 随着对游戏的需求和预期不断攀升 游戏开发人员比以往任何时候都需要更多帮助 那么 他们如何才能紧跟
  • Consumer位移管理-Kafka从入门到精通(十一)

    上篇文章说了 sesstion time out max poll interval ms max poll records和auto offset reset等参数 KafkaConsumer Kafka从入门到精通 十 https bl
  • eclipse如何创建多层包(多级包)

    包是Java中一个非常重要的概念 实质上包就是一个文件夹 我们在每次创建工程之前 要将不同的类放在不同的包里 以方便管理和避免类名重复所带来的麻烦 以后在使用其他包的类时 只需要使用 import 关键字进行包含就可以了 那么 在eclip
  • HTTPS 证书认证具体流程

  • Appium自动化框架从0到1之 日志文件配置(log.conf)

    在config文件中 我们先把log的输出格式 输出路径等参数抽离出来作为一个配置表 这个写法 在selenium自动化框架中 是没有分离的 所以 我们有get到一个新方法 代码如下 log conf loggers keys root i
  • C#中Console.WriteLine()的用法

    C 中Console WriteLine 的用法 以前用Console WriteLine 的时候就只会用它直接输出string字符串 但后来发现它还有其它在有些场合下会十分方便的输出方法 这篇就记录一下这些方法的使用吧 代码格式我就不写了
  • 向HashSet中添加元素的过程:

    向HashSet中添加元素的过程 1 当向 HashSet 集合中存入一个元素时 HashSet 会调用该对象的 hashCode 方法来得到该对象的 hashCode 值 然后根据 hashCode 值 通过某种散列函数决定该对象在 Ha
  • 微信小程序实战八:优惠券页面的实现

    文章目录 1 效果预览 2 wxml布局 3 js逻辑 4 样式设置 1 效果预览 2 wxml布局 顶部tab切换
  • cucumber ,运行feature一直提示 Undefined step: Given login baidu

    Undefined step Given login baidu You can implement missing steps with the snippets below Given login baidu public void l
  • 软件测试员必知!压力测试总共需要几个步骤?思路总结篇

    在运维工作中 压力测试是一项很重要的工作 比如在一个网站上线之前 能承受多大访问量 在大访问量情况下性能怎样 这些数据指标好坏将会直接影响用户体验 今天我们就来深入了解下压力测试 首先 什么是压力测试 软件压力测试是一种基本的质量保证行为
  • Python 实现 RAS 加解密(ras模块,pycrypto模块)

    一 pycrypto pycryptodome模块 1 模块安装说明 crypto这个模块的安装有点小坑 需要注意 crypto pycrypto pycryptodome的功能是一样的 crypto与pycrypto已经没有维护了 所以
  • uni-app开发微信小程序,textarea组件宽度设置,解决超出父级div

    问题描述 当我们使用textarea组件时 会出现设置宽度100 但其超出了父级Div 如下图 解决方案 添加box sizing border box 属性 即可完美解决 属性定义及使用说明 box sizing 属性定义如何计算一个元素
  • 【Python】高级变量类型

    目录 列表 List 编辑列表定义与结构 编辑列表的操作 元组 Tuple 编辑元组的定义 编辑元组的操作 编辑元组与格式化字符串 编辑元组和列表的转换 字典 dictionary 编辑字典的定义 编辑字典的操作 字符串 string 编辑
  • df和du显示的磁盘空间使用情况不一致的原因及处理

    df和du显示的磁盘空间使用情况不一致的原因及处理 在Linux下查看磁盘空间使用情况 最常使用的就是du和df了 然而两者还是有很大区别的 有时候其输出结果甚至非常悬殊 1 如何记忆这两个命令 du Disk Usage df Disk
  • 【深入理解C++】可调用对象、std::function、std::bind()

    文章目录 1 可调用对象 1 1 函数指针 1 2 函数对象 1 3 可被转换为函数指针的类对象 1 4 类成员函数指针 2 std function 2 1 包装普通函数 2 2 包装函数指针 2 3 包装函数对象 2 4 包装可被转换为
  • jdbc连接数据库的基本步骤

    1 在项目中导入java sql包 2 加载数据库驱动程序 Class forName com mysql cj jdbc Driver 3 定义数据库的链接地址 String url jdbc mysql localhost studen
  • 答题卡实战

    import cv2 import matplotlib pyplot as plt import numpy as np import myutils import argparse import imutils contours 正确答
  • CSDN中如何使用“私信”功能

    私信功能一直是CSDN被吐槽的诸多功能之一 但是有时我们还是需要这个功能的 比如说 我们可以私信给CSDN管理员 把我们的ID加入审核的白名单 这样以后妈妈就再也不用担心自己的博客被 待审核了 下面就一步步教你如何使用私信功能 1 悬浮在自
  • java利用模板生成PDF

    maven依赖 lt dependency gt lt groupId gt net sf jasperreports lt groupId gt lt artifactId gt jasperreports lt version gt 6
  • C语言,通过多文件编辑定义字符指针,指向堆区空间,计算字符串长度

    通过多文件编辑 定义字符指针 分别指向堆区空间 计算字符串长度 要求 1 定义函数实现堆区空间申请 2 在主函数中实现输入字符串 3 定义函数实现字符串长度 函数原型 size t my strlen const char s 4 定义函数