Kann ein char-Array mit einem beliebigen Datentyp verwendet werden?

Dasmalloc() -Funktion gibt einen Zeiger vom Typ @ zurüvoid*. Es ordnet Speicher in Bytes nach demsize_t value wurde als Argument übergeben. Die resultierende Zuordnung besteht aus unformatierten Bytes, die mit jedem Datentyp in C verwendet werden können (ohne Casting).

Kann ein Array mit dem Typchar innerhalb einer Funktion deklariert, die @ zurückgivoid *, kann mit jedem Datentyp verwendet werden, z. B. mit der resultierenden Zuweisung vonmalloc?

Beispielsweise

#include <stdio.h>

void *Stat_Mem();

int main(void)
{
    //size : 10 * sizeof(int)
    int buf[] = { 1,2,3,4,5,6,7,8,9,10 };

    int *p = Stat_Mem();

    memcpy(p, buf, sizeof(buf));

    for (int n = 0; n < 10; n++) {
        printf("%d ", p[n]);
    }
    putchar('\n');

    return 0;
}

void *Stat_Mem()
{
    static char Array[128];
    return Array;
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage