하위 구조체와 필드의 요소 참조하기
코드 생성에서 하위 구조체와 필드의 요소를 참조할 때 다음 지침을 따르십시오.
점 표기법을 사용하여 하위 구조체 필드 값을 개별적으로 참조
예를 들어, 다음 MATLAB® 코드는 점 표기법을 사용하여 필드와 하위 구조체의 요소를 참조합니다.
... substruct1.a1 = 15.2; substruct1.a2 = int8([1 2;3 4]); mystruct = struct('ele1',20.5,'ele2',single(100), 'ele3',substruct1); substruct2 = mystruct; substruct2.ele3.a2 = 2*(substruct1.a2); ...
생성 코드는 다음과 같이 기호를 확인하여 이 예에 있는 구조체의 요소를 참조합니다.
점 표기법 | 기호 확인 |
---|---|
substruct1.a1 | 로컬 구조체 substruct1 의 a1 필드 |
substruct2.ele3.a1 | 로컬 구조체 substruct2 의 하위 구조체인 ele3 필드의 a1 필드의 값 |
substruct2.ele3.a2(1,1) | 로컬 구조체 substruct2 의 하위 구조체인 ele3 필드의 a2 필드의 1행, 1열의 값 |
구조체형 배열의 필드 값을 참조하려면, 다음 예에서처럼 구조체에 대한 배열의 요소를 참조한 다음 점 표기법을 사용하여 이 구조체의 필드를 개별적으로 참조해야 합니다.
... y = X(1).a % Extracts the value of field a % of the first structure in array X ...
배열의 각 구조체에 대한 특정 필드 값을 모두 참조하려면 다음 예에서처럼 for
루프에 이 표기법을 사용하십시오.
... s.a = 0; s.b = 0; X = repmat(s,1,5); for i = 1:5 X(i).a = i; X(i).b = i+1; end
이 예에서는 s
에 의해 정의된 두 개의 필드 a
와 b
가 각각 있는 구조체의 배열을 정의하기 위해 repmat
함수를 사용합니다. 자세한 내용은 코드 생성을 위한 구조체 배열 정의하기 항목을 참조하십시오.
동적 이름을 사용하여 구조체의 필드를 참조할 수 없습니다. 동적 이름은 MATLAB이 런타임 시점에 평가하는 변수 표현식으로 필드를 표현합니다(변수에서 필드 이름 생성하기 참조).
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)