一:定义字符指针,分别指向堆区空间,计算字符串的长度
要求:
1.定义函数实现堆区空间申请
2.在主函数中实现输入字符串
3.定义函数实现字符串长度 size_t my_strlen(const char *s)
4.定义函数释放堆区空间
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *free_s(char *p);
char *Shengq();
size_t *Cdu(char *p1);
int main(int argc, const char *argv[])
{
char *ps = Shengq();
printf("请输入字符串:\n");
scanf("%s",ps);
int leng = 0;
leng = Cdu(ps);
printf("字符串长度为:%d\n",leng);
ps = free_s(ps);
return 0;
}
size_t *Cdu(char *p1)
{
int len=0;
for(int i=0;*(p1+i)!='\0';i++)
{
len = len + 1;
}
return len;
}
char *Shengq()
{
int *p2 = (int *)malloc(sizeof(int)*100);
if(p2 == NULL)
{
printf("空间申请失败!\n");
exit(1);
}
else
{
printf("空间申请成功!\n");
}
return p2;
}
char *free_s(char *p)
{
if(p == NULL)
{
return NULL;
printf("p==NULL,无需free释放。");
}
free(p);
p = NULL;
printf("释放完毕!");
return p;
}
2.Minxd