用malloc初始化char *所指向的连续内存的长度?

问题描述 投票:0回答:1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char* buffer = malloc(1000*sizeof(char));
    memset(buffer,'\0',1000);

    printf("%ld\n",sizeof buffer);    // Size of Pointer
    printf("%ld\n",sizeof *buffer);   // Size of Memory Block pointed at by buffer
    printf("%ld\n",strlen(buffer));   // Length of String
    return 0;
}


//  Output:-
//  8
//  1
//  0

代码正常工作。

输出是预期的,但是如果不知道长度,我如何找到用malloc初始化的连续内存的长度?

c string memory char malloc
1个回答
0
投票

没有标准方法可以找出多块已分配的内存。

由您自己来跟踪尺寸。

© www.soinside.com 2019 - 2024. All rights reserved.