Раздел 6.2.5 стандарта C11 объясняет:
Арифметические типы и типы указателей вместе называются скалярной типа. Типы массивов и структуры совместно называются агрегатами .
Продолжая работу по всему стандарту, вы обнаружите, какие операции и назначения доступны для скалярных и агрегатных типов.
Ваше утверждение:
переменная структура является скаляром, так что вы можете выполнять те же виды операций с ним, что вы можете с другими скаляров.
Непосредственно противоречит C-стандарту, поскольку структуры являются совокупными типами, не являющимися скалярами. Тем не менее, существуют ограниченные случаи, когда структуры обладают теми же свойствами, что и скаляры. Например, вы можете назначить две структуры одинакового типа, а конструктор-копир обеспечивает мелкую копию (назначение) между двумя структурами. Есть и другие обстоятельства, но обратите внимание, что они являются исключением, а не правилом.
Я подозреваю, что сделано заявление относительно одного из тех обстоятельств, когда struct
можно рассматривать как скаляр для конкретной операции. Не зная, о чем идет речь, я не могу сказать дальше.
Мнение основано, если книга не упоминает его явно. И если это так, вы должны просто продолжать читать. – StoryTeller
«Скалярный» обычно означает не-вектор. В алгебре есть хорошее определение. В этом случае автор, вероятно, означает что-то, что не является массивом, единственным значением. – Sulthan
Kenneth Reek имеет замечательную цитату на своей домашней странице: * Отладка в два раза сложнее написания кода в первую очередь. Поэтому, если вы пишете код настолько умно, насколько это возможно, вы по определению недостаточно умны, чтобы его отлаживать. Брайан Керниган * – chqrlie