C 언어
노조 동일한 메모리 위치에 다른 데이터 유형을 저장할 수 있는 C에서 사용할 수 있는 특수 데이터 유형입니다. 많은 멤버가 있는 공용체를 정의할 수 있지만 주어진 시간에 하나의 멤버만 값을 포함할 수 있습니다. Union은 동일한 메모리 위치를 다목적으로 사용하는 효율적인 방법을 제공합니다.
Union을 정의하려면 union을 사용해야 합니다. 구조를 정의할 때와 같은 방식으로 문을 엽니다. Union 문은 프로그램에 대해 둘 이상의 멤버가 있는 새 데이터 유형을 정의합니다. Union 성명서의 형식은 다음과 같습니다 -
union [union tag] { member definition; member definition; ... member definition; } [one or more union variables];
통합 태그 선택적이며 각 멤버 정의는 int i와 같은 일반 변수 정의입니다. 또는 float f; 또는 다른 유효한 변수 정의. 공용체 정의 끝에서 마지막 세미콜론 앞에 하나 이상의 공용체 변수를 지정할 수 있지만 선택 사항입니다. 다음은 세 개의 멤버 i, f 및 str -
을 갖는 Data라는 공용체 유형을 정의하는 방법입니다.union Data { int i; float f; char str[20]; } data;
이제 Data 변수 type은 정수, 부동 소수점 숫자 또는 문자열을 저장할 수 있습니다. 이는 단일 변수, 즉 동일한 메모리 위치를 사용하여 여러 유형의 데이터를 저장할 수 있음을 의미합니다. 요구 사항에 따라 공용체 내에서 내장 또는 사용자 정의 데이터 유형을 사용할 수 있습니다.
Union이 차지하는 메모리는 Union의 가장 큰 구성원을 보유하기에 충분히 클 것입니다. 예를 들어 위의 예에서 Data type은 문자열이 차지할 수 있는 최대 공간이기 때문에 20바이트의 메모리 공간을 차지합니다. 다음 예는 위의 합집합이 차지하는 총 메모리 크기를 표시합니다. -
라이브 데모#include <stdio.h> #include <string.h> union Data { int i; float f; char str[20]; }; int main( ) { union Data data; printf( "Memory size occupied by data : %d\n", sizeof(data)); return 0; }
위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -
Memory size occupied by data : 20
조합의 구성원에 액세스하려면 구성원 액세스 연산자(.)를 사용합니다. . 멤버 액세스 연산자는 유니온 변수 이름과 액세스하려는 유니온 멤버 사이의 마침표로 코딩됩니다. union 키워드를 사용합니다. 공용체 유형의 변수를 정의합니다. 다음 예제는 프로그램에서 공용체를 사용하는 방법을 보여줍니다 -
라이브 데모#include <stdio.h> #include <string.h> union Data { int i; float f; char str[20]; }; int main( ) { union Data data; data.i = 10; data.f = 220.5; strcpy( data.str, "C Programming"); printf( "data.i : %d\n", data.i); printf( "data.f : %f\n", data.f); printf( "data.str : %s\n", data.str); return 0; }
위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -
data.i : 1917853763 data.f : 4122360580327794860452759994368.000000 data.str : C Programming
여기에서 i 값이 및 f 변수에 할당된 최종 값이 메모리 위치를 차지했기 때문에 Union의 멤버가 손상되었으며 이것이 str 값이 회원이 매우 잘 인쇄되고 있습니다.
이제 유니온을 갖는 주요 목적인 한 번에 하나의 변수를 사용할 동일한 예를 다시 한 번 살펴보겠습니다. -
라이브 데모#include <stdio.h> #include <string.h> union Data { int i; float f; char str[20]; }; int main( ) { union Data data; data.i = 10; printf( "data.i : %d\n", data.i); data.f = 220.5; printf( "data.f : %f\n", data.f); strcpy( data.str, "C Programming"); printf( "data.str : %s\n", data.str); return 0; }
위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -
data.i : 10 data.f : 220.500000 data.str : C Programming
여기에서는 한 번에 한 멤버를 사용하기 때문에 모든 멤버가 매우 잘 인쇄되고 있습니다.
C 언어
머신 비전 카메라, 보정되지 않은 센서 또는 예측할 수 없는 그림자의 결함은 산업용 AI 시스템에서 잠재적으로 비용이 많이 들고 위험한 오류로 이어질 수 있습니다. 그러나 연구자들은 오류 가능성을 줄이기 위해 취할 수 있는 간단한 조치뿐만 아니라 오류 방지 알고리즘을 개발하고 있습니다. 인공 지능은 기본 퍼셉트론 인공 신경망 이상으로 발전했지만 오류는 여전히 문제로 남아 있습니다. 픽사베이 제공 이미지 사용 인공 지능을 위한 산업용 애플리케이션 로봇 공학 플랫폼, 자재 취급, 포장, 머신 텐딩, 조립, 검사 및 BAS
다음에 일어날 일을 명시하기 위해 필요한 정보 활용 미국 제조 위원회(Council of the Council of the Manufacturing USA) 연구소 소장으로서 저는 종종 미국 첨단 제조 트렌드에 대한 질문을 받습니다. 이와 같은 질문을 받았을 때 저는 첨단 제조에 대해 가능한 한 광범위하게 생각하려고 노력하고 대부분의 제조업체와 미국 제조 부문에 도움이 될 수 있는 기술을 고려합니다. 로봇 공학이 제공하는 자동화 또는 수많은 응용 분야를 제공하는 적층 제조와 같은 일부 기술이 대다수 제조업체에 혜택을 줄 수 있다