Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Разница между структурой и объединением

Что такое структура?

Структура — это определяемый пользователем тип данных на языке программирования C, который объединяет логически связанные элементы данных разных типов.

Все элементы структуры хранятся в смежных ячейках памяти. Переменная типа структуры может хранить более одного элемента данных различных типов под одним именем.

Из этого руководства вы узнаете:

Что такое союз

Union — это определяемый пользователем тип данных, как и структура. Union объединяет объекты разных типов и размеров вместе. Переменная объединения выделяет пространство памяти, равное пространству для хранения самой большой переменной объединения. Это позволяет различным типам объектов находиться в одном и том же месте.

Синтаксис объявления структуры

struct [name of the structure]
   {
       type member1;
       type member2;
       type member3;
   };

Структура объявляется с помощью ключевого слова «struct» и имени структуры. Номер 1, номер 2, номер 3 являются отдельными членами структуры. Основная часть завершается точкой с запятой (;).

Пример структуры в программировании на C

#include <stdio.h>
struct student {
    char name[60];
    int roll_no;
    float marks;
} sdt;
int main() {
    printf("Enter the following information:\n");
    printf("Enter student name: ");
    fgets(sdt.name, sizeof(sdt.name), stdin);
    printf("Enter student roll number: ");
    scanf("%d", & sdt. roll_no);
    printf("Enter students marks: ");
    scanf("%f", & sdt.marks);
    printf("The information you have entered is: \n");
    printf("Student name: ");
    printf("%s", sdt.name);
    printf("Student roll number: %d\n", sdt. roll_no);
    printf("Student marks: %.1f\n", sdt.marks);
    return 0;
}

В приведенной выше программе создается структура под названием «студент». Эта структура имеет три члена данных:1) имя (строка), 2) roll_no (целое число) и 3) метки (число с плавающей запятой).

После этого создается структурная переменная sdt для хранения информации об ученике и ее отображения на экране компьютера.

Вывод:

Введите следующую информацию:

Введите имя ученика:Джеймс

Введите номер студенческого списка:21

Введите оценки учащихся:67

Введенная вами информация:

Имя ученика:Джон

Номер студенческого списка:21

Оценки учащихся:67,0

Синтаксис объявления объединения

union [name of union]
    {
       type member1;
       type member2;
       type member3;
    };

Union объявляется с использованием ключевого слова «union» и имени союза. Номер 1, номер 2, номер 3 являются индивидуальными членами союза. Основная часть завершается точкой с запятой (;).

Пример объединения в программировании на C

#include <stdio.h>

union item
{
    int x;
    float y;
    char ch;
};

int main( )
{
    union item it;
    it.x = 12;
    it.y = 20.2;
    it.ch = 'a';
    
    printf("%d\n", it.x);
    printf("%f\n", it.y);
    printf("%c\n", it.ch);
    
    return 0;
}

Вывод:

1101109601

20.199892

а

В приведенной выше программе вы можете видеть, что значения x и y искажаются. Только переменная ch выводит ожидаемый результат. Это связано с тем, что при объединении расположение памяти совместно используется всеми типами данных-членами.

Следовательно, единственный элемент данных, значение которого хранится в данный момент, будет занимать место в памяти. Значение переменной ch было наконец сохранено, поэтому значения остальных переменных теряются.

Структура vs. Союз

Вот важное различие между структурой и объединением:

Структура Союз Вы можете использовать ключевое слово struct для определения структуры. Вы можете использовать ключевое слово union для определения объединения. Каждому члену в структуре назначается уникальная ячейка памяти. В объединении ячейка памяти используется всеми элементами данных. Изменение значения одного элемента данных не повлияет на другие элементы данных в структуре. Изменение значения одного элемента данных изменит значение других элементов данных в объединении. Это позволяет вам инициализировать несколько элементов одновременно. Это позволяет вам инициализировать только первый элемент of union. Общий размер структуры представляет собой сумму размера каждого члена данных. Общий размер объединения представляет собой размер наибольшего члена данных. Он в основном используется для хранения различных типов данных. Он в основном используется для хранит один из многих доступных типов данных. Он занимает место для каждого члена, записанного во внутренних параметрах. Он занимает место для члена, имеющего наибольший размер, записанный во внутренних параметрах. доступ к одному члену er одновременно в объединении. Он поддерживает гибкий массив. Он не поддерживает гибкий массив.

Преимущества структуры

Вот преимущества и преимущества использования структуры:

Преимущества союза

Вот плюсы/преимущества использования союза:

Недостатки структуры

Вот минусы/недостатки использования структуры:

Недостатки объединения

Вот минусы/недостатки использования union:

КЛЮЧЕВЫЕ ОТЛИЧИЯ:


Язык C

  1. Разница между асбестом и стекловолокном
  2. Разница между структурой и классом:объяснение на примере C++
  3. С# против. C++:в чем разница между C# и C++?
  4. Разница между С и С++
  5. Разница между C и Java
  6. Разница между strlen() и sizeof() для строки в C
  7. Python против JavaScript:разница между JavaScript и Python
  8. Разница между двигателями постоянного и переменного тока
  9. Разница между пайкой и пайкой
  10. Разница между 2-тактным и 4-тактным двигателями