이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
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
함수가 경고를 발생시킵니다.