16 개의 요소를 가진 double 배열 double myArray[16]
이 있다고 가정합니다. 네 요소의 각 하위 집합에 대해 함수를 수행하려고합니다. 즉, 첫 번째 하위 집합은 myArray[0], myArray[1], myArray[2], myArray[3]
이고 두 번째 하위 집합은 myArray[4], myArray[5], myArray[6], myArray[7]
입니다.배열 길이 C의 서브 세트
하위 집합에서만 작동하는 void
함수에 대한 포인터를 사용하여 부분 집합 배열을 전달하고 해당 함수에 전달 된 주소에 값을 씁니다. myArray[8]
으로 시작하는 모든 요소를 사용하려면 &myArray[8]
을 함수에 전달할 수 있지만 미리 지정된 길이 (이 예제에서는 4 개) 만 전달해야합니다.
도움을 주시면 감사하겠습니다.
함수는 길이를 알아야합니다. 하드 코딩되었거나 매개 변수로 전달되었습니다. –
함수는 배열의 크기를 어떻게 알 수 있습니까? 이 정보를 인수로 받아 들여야하기 때문에 시작 요소 (예 :'& myArray [8]')와 4의 크기를 전달하면됩니다 –
'void func (double * arr, int subcount)'를 호출하고 (예를 들어)'func (& myArray [8], 4)'로 호출하십시오. 또는'#define SUBCOUNT 4'로 카운트를 고정 시키십시오. for 루프는 'for (int i = 0; i <16; i + = SUBCOUNT) func (& myArray [i], SUBCOUNT);' –