zoukankan      html  css  js  c++  java
  • (1) 编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间。new(n)表示分配n个字节的内存空间。(2)写一函数free,将前面用new函数占用的空间释放。free(p)表示将p(地址)指向的单元以后的内存段释放。

    (1) 编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间。new(n)表示分配n个字节的内存空间。(2)写一函数free,将前面用new函数占用的空间释放。free(p)表示将p(地址)指向的单元以后的内存段释放。

    解题思路: 封装malloc函数申请空间,封装free函数释放空间;

    答案:

    #include <stdio.h>
    #include <stdlib.h>
    
    void *mynew(int n)
    {
    	return malloc(n);
    }
    void myfree(char *p)
    {
    	return free(p);
    }
    int main()
    {
    	int num;
    	char *str = NULL;
    	printf("Please enter number: ");
    	scanf_s("%d", &num);
    	printf("before new p--%p:%s
    ", str, str);//申请空间之前,查看指针的地址和指向空间数据
    	str = (char*)mynew(num);
    	printf("after new p--%p:%s
    ", str, str);//申请空间之后,查看指针的地址和指向空间数据
    	printf("Please enter a string:");
    	scanf_s("%s", str, num);
    	printf("before free p--%p:%s
    ", str, str);//释放空间之前,查看指针的地址和指向空间数据
    	myfree(str);
    	printf("after free p--%p:%s
    ", str, str);//释放空间之后,查看指针的地址和指向空间数据
    	system("pause");
    	return 0;
    }
    

     (1) 编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间。new(n)表示分配n个字节的内存空间。(2)写一函数free,将前面用new函数占用的空间释放。free(p)表示将p(地址)指向的单元以后的内存段释放。

  • 相关阅读:
    基于.NET平台常用的框架整理
    简单的linq语法
    Newtonsoft.Json高级用法
    C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新)
    HTML URL 编码
    sql(SqlServer)编程基本语法
    正则表达式
    添加vs模板注释
    js实现无刷新表单提交文件,将ajax请求转换为form请求方法
    HTML5 手机端动态适配
  • 原文地址:https://www.cnblogs.com/weiyidedaan/p/13292962.html
Copyright © 2011-2022 走看看