char *Ptr = new char; //выделили один символ из кучи (указатель Ptr)struct black_ice //объявляем структуру, имеющую размер не менее 1002-х байт{ char str[MAX_LEN]; short int len;};black_ice* ptr= new black_ice; //теперь выделяем эти самые 1002 байта из кучи (указатель ptr)ptr = (black_ice*)(void*)Ptr; //Оп-па! Ошибка! Мы присваиваем указателю ptr новый адрес, указывающий на место, где выделен всего 1 (один!) байт, а пользуемся аж 1002-мя. Иными словами, не гарантируется, что 1001 байт не затрётся в другом месте программы.
send (sock, ptr2->str, ptr2->len, 0);
send (sock, static_cast <void *> (ptr), sizeof (black_ice), 0);
void strcpy (char *, const char *)
char *Ptr = new char[sizeof(black_ice)];
char * Ptr;
char *Ptr = new char[sizeof(black_ice)];black_ice* ptr= new black_ice;memset(ptr->str,0,81); ptr = (black_ice*)(void*)Ptr;
Ptr = (black_ice*)(void*)ptr;
QString tut;