Этот вопрос, возможно, был дан ответ раньше, но я искал эти форумы и Google, но не думаю, что я попросил правильную вещь самым кратким образом, поэтому приношу свои извинения, но я попытаюсь объяснить свой вопрос дальше:Как программа знает, какой тип переменной?
Скажем, например, у вас есть переменная, назовем ее x
и она относится к куску памяти, который содержит двоичное значение 01000001
. Мне было интересно: где хранится информация типа для этого двоичного представления?
Есть как система отображения памяти, такая как словарь, который отображает двоичное представление в некоторый предопределенный список типов, например. 0000
для представления int
и 0001
для представления char
, например?
Я чувствую, что это не так, поскольку это приведет к увеличению объема накладных расходов, которые будут расти, например, например, введены более определенные пользователем типы или создано больше переменных. Но я полагаю, что это может иметь место для weakly
языков. (Или, может быть, нет) Но как насчет strongly
?
Я не уверен, но это должен быть компилятор. Когда он переводит ваш код на машинный язык, он смотрит на переменные типы. Но как насчет программ и функций, которые могут иметь аргументы любого типа? Они просто используют _format_ (например, 'printf') или позволяют создать свою собственную функцию, которую они используют (' qsort'). Как я знаю, ASM не имеет никаких типов (я не уверен) – stek29