求助哪大神帮我实现一下用C语言实现的mymalloc,谢谢了

Python062

求助哪大神帮我实现一下用C语言实现的mymalloc,谢谢了,第1张

#include <stdio.h>

#include <malloc.h>

void mymalloc(int i)

{

    int *p

    while(1)

    {

        p=(int *)malloc(sizeof(int )*10)

    }

}

void main ()

{

    mymalloc(1)

    system("pause")

}

首先 myalloc

C语言中没有这个函数

只有malloc

是用来分配内存的。

其次, 二者区别在于类型不同 p1指向的是u8, 而p2指向的是u32

这就要去p1分配的内存 可以是任意正数,而p2分配的内存 必须是4的整数倍,否则访问就可能出错了。

直接产生随机的字符串的库函数是没有的,

但是可以这么实现:

1.产生固定长度的随机的字符串

主要就是产生固定个数的随机字符,

那么就简单了,用两组随机数:

一组:随机产生0~25的整数num,然后用'a'+num来赋值小写字母,'A'+num来赋值大写字母

一组:随机产生0,1,产生0,用'a'来和num相加,生成小写字母;产生1,用'A'来和num相加,生成大写字母;

2.产生不固定长度的随机的字符串

就是在上面的产生固定长度的随机的字符串的基础上,在引入一组随机数,来控制字符串长度

代码如下:

1.产生固定长度的随机的字符串

#include<conio.h>

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#define N 10//固定长度为10

void main()

{

int flag,charLengt

int i,j,k=0

char ch[N+1]={NULL}

srand((unsigned)time(NULL))

for(i=0i<10i++)//生成10个String吧

{

for(j=0j<Nj++)

{

flag=rand()%2

if(flag) ch[k++]='A'+rand()%26

else ch[k++]='a'+rand()%26

}

ch[k]='\0'

k=0

printf("%s\n",ch)

}

getch()

}

不定长的自己参照着写吧