어서 오세요
이번 강의에서는 길이 배열을 살펴볼게요
이게 무슨 뜻이죠?
이건 C99에 추가된 새로운 기능이에요
네 하지만 지금까지 우리가 아는 건
다차원적이라는 것과 단일 변수에 다중 데이터
요소를 저장하는 멋진 기능 외에 배열은 고정 크기예요
일단 그 크기를 지정하면 하드 코드된 상수를 사용해야 해요
크기를 지정하는 변수를 지정하면
그대로 유지돼요
길이 변수는 오해의 소지가 있어요
배열 크기를 동적으로 바꾼다는 뜻은 아니에요
여전히 동일 크기지만 변수를 사용할 수 있어요
네 변수 길이 배열에 있는 용어 변수란 여러분이 생성한 후에 배열의 길이를
수정할 수 있다는 뜻이 아닙니다
그 배열을 위해 사용할 변수를 만들 수 있다는 거죠
VLA는 생성 후에도 같은 크기를 유지해요
네 네 변수 배열은 배열을 생성할 때 어떤 변수와 함께 크기와
배열을 지정하게 해줍니다
그냥 변수를 사용할 수 있어요 그게 다죠
별로 쓸모없을 것 같아요
네 하지만 그게 추가된 유일한 이유는 기존의 라이브러리와
다른 언어에 도움이 됐기 때문이죠
C99는 이 신형 구조를 도입했고 현재 사용되고 있습니다 그래서 말씀드리고
싶었어요
브리핑만 말씀드릴게요 자세한 용도는
말씀드리지 않을게요
네 존재한다는 걸 알려드리고 싶었어요 가끔
c에 대해 읽을 때 단가 변수 길이가 배열된 걸 보시거든요
네 여러분이 그걸 보고 배열을 연구했는데 주제를
언급 안 한 게 무슨 의미냐고 의아해하지 않길 바랍니다
그래서 C#을 수치 계산에 있어 더 나은 언어로 만들기
위해 도입됐죠
VLA는 변수 길이 배열을 통해 포트란 수치 계산 루틴의
기존 라이브러리를 C로 변환하는 게 훨씬 쉬워지죠
이게 추가된 이유군요
네 여러분이 포트란 프로그래머라면 마이그레이션이나
코드를 변환할 때 이걸 사용하세요
포트랜코드를 전송해 C로
전환하려 할 때 이걸 사용하세요
그 진술서에서 아브라를 초기화할 순 없어요
길이가 다양한 배열에선 초기화가
필요 없죠
배열을 선언할 때 적용할 수 있는 유효한 크기들이 있어요
그래서 2변수와 m을 선언할 수 있죠
네 그리고 하단을 보시면 8 float와 부동 소수점 a9라고 할 때 이
변수들을 사용할 수 있어요 배열 크기로 선언할 때요
CC99 전엔 불가능했는데 이젠 가능해요
VLA는 변수 길이 배열이죠
배열 안에서 사용되는 변수 TObe를 명시하는 거죠
런타임에 크기는 안 바뀌어요
네 여기 다른 예제들이 있어요 배열의 유효한 선언도 있죠 여러분이 주목하셔야
할 겁니다
아나레이를 5 정도로 설정하면 아무 문제 없어요
배열의 크기를 지정할 때 식을 사용할 수 있어요
다음 예제에서 5time 2 더하기 1은 괜찮아요
또 다른 건 크기of연산자를 사용하고 있다는 거죠 그것도 괜찮아요
왜냐하면 int를 반환하니까요
네 int의 크기는 4 혹은 8을 반환합니다 사용하는 머신에 따라 다릅니다
그리고 1을 추가합니다 아무 문제 없습니다
마이너스 숫자를 배열 선언에 입력하는
건 할 수 없어요
마이너스 4는 없어요
어레이하는 0이 넘을 거예요
0도 안 돼요
두 개요 플로트를 설치하는 건 말이 안 돼요
2번 크기 배열을 어떻게 만들 수 있을까요? 5살요
하지만 2를 입력하면요 사각 괄호 안에 5 int로
캐스트하면 괜찮아요
네 다시 말씀드리지만 변수 길이 배열에 시간을 많이 들이고 싶지
않아요 개념만 소개하고 싶어요
무슨 뜻인지 아실 거예요
크기 지정 배열에 변수를 할당하는 거죠
기존 포트란 라이브러리와의 호환성을
위해 소개된 거죠 고마워요