Hallo pl,
Das hat aber nichts mit dem tm struct zu tun. MfG
Mudguard schrieb über den Array mit Monatsnamen.
Ja, schon klar. NULL jedoch ist ein Zeiger und kein Arrayelement. MfG
const char *[]
ist ein Array von char
-Pointern. NULL
ist hier ganz klar ein Element des Arrays und belegt sizeof(char *)
, was bei modernen CPUs halt 64 Bit = 8 Byte sind.
➜ ckruse@spinnweb ~ % cat test.c
#include <stdlib.h>
#include <stdio.h>
int main(void) {
const char *mon_names[] = {"Jan", "Feb", /* ... */ };
const char *mon_names_1[] = { NULL, "Jan", "Feb", /* ... */ };
printf("mon_names:%lu vs mon_names_1:%lu\n", sizeof(mon_names), sizeof(mon_names_1));
return 0;
}
➜ ckruse@spinnweb ~ % gcc -Wall -o test test.c
➜ ckruse@spinnweb ~ % ./test
mon_names:16 vs mon_names_1:24
➜ ckruse@spinnweb ~ %
LG,
CK