#include <stdio.h>
#include <stdlib.h>
int main() {
const int N = 20;
char* ptr0 = (char*)malloc(sizeof(char*)*N);
*(char**)(ptr0) = ptr0; //is this line ok?
free(ptr0);
return 0;
}
Мне просто интересно, что шестая строка кода, *(char**)(ptr0) = ptr0
, вызовет cra sh или неверный результат, поэтому не рекомендуется писать это, или это просто нормально?