struct
구조체형 배열
설명
구조체형 배열은 필드라는 데이터 컨테이너를 사용하여 관련 데이터를 그룹화하는 데이터형입니다. 각 필드에는 모든 데이터형이 포함될 수 있습니다. 필드의 데이터에 액세스할 때는 structName.fieldName 형식의 점 표기법을 사용하십시오.
생성
데이터를 새 구조체에 추가하려면 필드의 이름을 한 번에 하나씩 지정하는 점 표기법을 사용하여 구조체를 생성하십시오.
s.a = 1;
s.b = {'A','B','C'}s = struct with fields:
a: 1
b: {'A' 'B' 'C'}
필드 이름은 ASCII 문자(A–Z, a–z), 숫자(0–9) 및 밑줄을 포함할 수 있으며 영문자로 시작해야 합니다. 필드 이름의 최대 길이는 namelengthmax입니다.
아래 설명처럼 struct 함수를 사용하여 구조체형 배열을 생성할 수도 있습니다. 여러 필드를 동시에 지정하거나 비 스칼라 구조체형 배열을 생성할 수 있습니다.
구문
설명
s = struct는 필드가 없는 스칼라(1×1) 구조체를 만듭니다.
s = struct(는 지정된 필드와 값을 가진 구조체형 배열을 만듭니다. field,value)value 입력 인수는 숫자형 배열, 논리형 배열, 문자형 배열, 셀형 배열 같은 모든 데이터형일 수 있습니다.
value가 셀형 배열이 아니거나value가 스칼라 셀형 배열이면s는 스칼라 구조체입니다. 예를 들어,s = struct('a',[1 2 3])은s.a = [1 2 3]인 1×1 구조체를 만듭니다.value가 비 스칼라 셀형 배열인 경우s는value와 차원이 같은 구조체형 배열입니다.s의 각 요소에는value의 해당하는 요소가 포함되어 있습니다. 예를 들어,s = struct('x',{'a','b'})는s(1).x = 'a'와s(2).x = 'b'를 반환합니다.value가 빈 셀형 배열{}인 경우s는 빈(0×0) 구조체입니다.
s = struct(field1,value1,...,fieldN,valueN)은 여러 개의 필드를 가진 구조체형 배열을 만듭니다.
value입력값이 셀형 배열이거나 셀형 배열의 모든value입력값이 스칼라인 경우s는 스칼라 구조체입니다.value입력값에 비 스칼라 셀형 배열이 있는 경우s는 이 비 스칼라 셀형 배열과 차원이 같습니다. 또한, 둘 이상의value입력값이 비 스칼라 셀형 배열인 경우 모든 비 스칼라 셀형 배열의 차원이 같아야 합니다.스칼라 셀형 배열이나 다른 데이터형으로 구성된 배열인
value의 경우,struct는value의 내용을s의 모든 요소에 관련된 필드에 삽입합니다. 예를 들어,s = struct('x',{'a','b'},'y','c')는s(1).x = 'a',s(2).x = 'b',s(1).y = 'c',s(2).y = 'c'를 반환합니다.value입력값이 빈 셀형 배열{}인 경우, 출력값s는 빈(0×0) 구조체입니다. 빈 필드를 지정하고 기타 다른 필드의 값을 유지하려면[]을value입력값으로 대신 사용하십시오.
s = struct([])은 필드가 없는 빈(0×0) 구조체를 만듭니다.
s = struct(는 obj)obj의 속성에 대응하는 필드 이름과 값을 가진 스칼라 구조체를 만듭니다. struct 함수는 obj를 변환하지 않고, s를 새 구조체로 생성합니다. 이 구조체는 클래스 정보를 유지하지 않으므로 프라이빗 속성, 보호 속성 및 숨겨진 속성이 s의 퍼블릭 필드가 됩니다. 이 구문을 사용하는 경우 struct 함수가 경고를 발생시킵니다.
입력 인수
예제
확장 기능
버전 내역
R2006a 이전에 개발됨참고 항목
isfield | table | isstruct | fieldnames | orderfields | rmfield | substruct | cell2struct | struct2cell | struct2table | table2struct | namelengthmax
