>>107407811
no.
disassemble this code
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct s_str_a
{
size_t size;
char *text;
};
struct s_str_b
{
size_t size;
char text[];
};
int main(void)
{
char text[] = "this is a string";
struct s_str_a *str_a = malloc(sizeof(struct s_str_a));
struct s_str_b *str_b = malloc(sizeof(struct s_str_b) + sizeof(text));
str_a->text = text;
strcpy(str_b->text, text);
//here str_a->text is a number
puts(str_a->text);
//here str_b->text is an offset
puts(str_b->text);
free(str_a);
free(str_b);
}