通过多文件编辑,定义字符指针,分别指向堆区空间,计算字符串长度
要求:
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;
}
【运行结果】