В следующем коде представлены функции test и test2 эквивалентные?
typedef int rofl;
void test(void) {
rofl * rofl = malloc(sizeof(rofl)); // Is the final rofl here the TYPE?
}
void test2(void) {
rofl * rofl = malloc(sizeof *rofl); // Is the final rofl here the VARIABLE?
}
Другими словами:
- Правильно ли
roflвsizeof(rofl)выбрать типroflиз-за круглых скобок? - Правильно ли
roflвsizeof *roflвыбрать переменнуюroflиз-за недостатка круглых скобок?
Примечание.. Это глупый пример, но на практике может быть фактически, что у вас есть имя типа, такое же, как имя переменной. Отсюда вопрос.