구조체와 필드에 값 할당하기
코드 생성 시 구조체, 하위 구조체 또는 필드에 값을 할당할 때 다음 지침을 사용하십시오.
구조체끼리 서로 할당하는 경우 필드 속성이 일치해야 함
조건: | 작업: |
---|---|
한 구조체를 다른 구조체에 할당하는 경우. | 각 구조체를 동일한 필드 개수, 유형, 크기로 정의하십시오. |
한 구조체를 다른 구조체의 하위 구조체에 할당하거나 그 반대의 경우. | 구조체를 하위 구조체와 동일한 필드 개수, 유형, 크기로 정의하십시오. |
한 구조체의 요소를 다른 구조체의 요소에 할당하는 경우. | 요소의 유형과 크기가 동일해야 합니다. |
상수 필드를 갖는 구조체의 경우 제어 흐름 구문 내에 필드 값을 할당해서는 안 됨
다음 코드에서 코드 생성기는 구조체 필드 s.a
와 s.b
가 상수임을 인식합니다.
function y = mystruct()
s.a = 3;
s.b = 5;
y = zeros(s.a,s.b);
제어 흐름 구문 내에 구조체 필드가 할당되면 코드 생성기는 s.a
와 s.b
가 상수 필드임을 인식하지 못합니다. 다음 코드를 살펴보겠습니다.
function y = mystruct(x) s.a = 3; if x > 1 s.b = 4; else s.b = 5; end y = zeros(s.a,s.b);
가변 크기가 활성화된 경우 y
는 가변 크기 배열로 처리됩니다. 가변 크기가 비활성화된 경우 y
에 대해 코드 생성기가 오류를 보고합니다.
mxArrays
를 구조체 요소에 할당할 수 없습니다. 코드 생성 전에 mxArrays
를 알려진 유형으로 변환하십시오(Working with mxArrays 참조).
전역 구조체 변수에 핸들 클래스 또는 희소 배열을 할당해서는 안 됨
전역 구조체 변수는 핸들 객체 또는 희소 배열을 포함할 수 없습니다.
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)