Size: a a a

IT KPI C/С++ ХВ (хорошо, что не UB)

2017 November 28

a

alnyan in IT KPI C/С++ ХВ (хорошо, что не UB)
Kind Elk
с одной стороны да, с  другой - сигнатура же входит в имя, нет?
проверю вечером - отпишу
Нет, в С точно нет
источник

a

alnyan in IT KPI C/С++ ХВ (хорошо, что не UB)
В С++ есть name mangling
источник

KE

Kind Elk in IT KPI C/С++ ХВ (хорошо, что не UB)
уже понял, компилятор меня убедил)
источник

KE

Kind Elk in IT KPI C/С++ ХВ (хорошо, что не UB)
думал, что С больше похож на С с крестами
источник

OS

Oksana Shyshka in IT KPI C/С++ ХВ (хорошо, что не UB)
Kind Elk
стоп, це ж поінтер, вони ж одного розміру. ми ж тільки поінтер тягаємо, а не дані
Тоді дай відповідь на таке питання:

Чим відрізняється int *  від void *?
источник

KE

Kind Elk in IT KPI C/С++ ХВ (хорошо, что не UB)
інтерпретацією даних після розіменовування.
те, що стоїть перед зірочкою, вказує компілятору, як інтерпретувати дані після розіменовування (і скільки там тих даних).
источник

KE

Kind Elk in IT KPI C/С++ ХВ (хорошо, что не UB)
ти ж можеш без втрат закастити int* до void*
источник

KE

Kind Elk in IT KPI C/С++ ХВ (хорошо, что не UB)
власне

int main()
{
  int* x = malloc(sizeof(int));
  *x = 7;
  void* y = malloc(sizeof(int));
  *(int*)y = 8;
  printf("x = %i; (int)y = %i;", *x, *(int*)y);
}
источник

KE

Kind Elk in IT KPI C/С++ ХВ (хорошо, что не UB)
gcc 7.3.0 нормально працює
источник

KE

Kind Elk in IT KPI C/С++ ХВ (хорошо, что не UB)
або так
int main()
{
  int* x = malloc(sizeof(int));
  *x = 7;
  void* y = x;
  printf("x = %i; (int)y = %i;", *x, *(int*)y);
}
источник

R

Rabu in IT KPI C/С++ ХВ (хорошо, что не UB)
и что?
источник

R

Rabu in IT KPI C/С++ ХВ (хорошо, что не UB)
указатель не зависит от типа
источник

R

Rabu in IT KPI C/С++ ХВ (хорошо, что не UB)
он УКАЗЫВАЕТ на область в памяти, как завещали деды
источник

KE

Kind Elk in IT KPI C/С++ ХВ (хорошо, что не UB)
я на этот вопрос отвечал
источник

KE

Kind Elk in IT KPI C/С++ ХВ (хорошо, что не UB)
Тоді дай відповідь на таке питання:

Чим відрізняється int *  від void *?
источник

KE

Kind Elk in IT KPI C/С++ ХВ (хорошо, что не UB)
и этот
источник

KE

Kind Elk in IT KPI C/С++ ХВ (хорошо, что не UB)
Void * temp = a. Компілятор не знатиме, скільки байт зчитати, починаючи із адреси a
источник

R

Rabu in IT KPI C/С++ ХВ (хорошо, что не UB)
а указывая тип, ты говоришь компилятору, сколько байт читать из памяти при разыменовании
источник

KE

Kind Elk in IT KPI C/С++ ХВ (хорошо, что не UB)
інтерпретацією даних після розіменовування.
те, що стоїть перед зірочкою, вказує компілятору, як інтерпретувати дані після розіменовування (і скільки там тих даних).
источник

KE

Kind Elk in IT KPI C/С++ ХВ (хорошо, что не UB)
именно
источник