2009-07-02 3 views
2

다른 배열을 포함하는 배열을 가지고 있습니다중첩 배열이나 구조체 또는 클래스에 헝가리 방식으로 표시하는 방법은 무엇입니까?

이렇게하면 알 수 있습니까?
의사 : 배열, 즉 구조체 포함

rgrgTest = newArray(2) 

어떤 경우?
의사 :

rggrTest = newArray(2).newStruct() 

또는 즉 내가 구조체의 데이터 유형을 분류하려면이 방법은?
의사가 :

rggrlstlTest = newArray(2).newStruct(int id, str desc, int value) 
+2

대부분의 사람들이 헝가리 표기법을 피하는 많은 이유 중 하나입니다 ... –

+0

헝가리 표기법 (코딩 지침 또는 이와 유사한 이유로 인해)을 사용해야하거나 헝가리어 표기법에 대한 잘못된 믿음으로 고통 받고 있기 때문에 묻고 있습니까? 좋은 일 이니? – jalf

+0

rggrTest는 변수가 나타내는 내용에 대해 많이 언급하지 않습니다. – Skurmedel

답변

1

"올바른"방법은 코딩 표준 및 접두사의 목록에 의해 결정됩니다.

접두어의 순서는 일반적으로 그들이 나타내는 내용이 모국어로 읽히는 순서를 나타냅니다.

이름을 너무 쉽게 관리 할 수 ​​없도록 단일 문자 접두사 (또는 단일 문자 + 숫자)를 사용하십시오. 1 바이트 부호없는 정수의 경우 'u8', 배열의 경우 'a', 구조체의 경우 'r' ("기록"에서처럼).

접두사 내에 구조체의 요소를 포함하지 마십시오. 그것은 단지 너무 다루기 힘들어진다. 이 시스템 헝가리어 표기법이며, 스택 오버플로 사용자와 매우 인기가없는 것으로 나타나지만, 연기하지 말라 :

au8My1DArray[]  // A 1-dimensional array of unsigned 1-byte integers 
aau8My2dArray[][] // A 2-dimensionnal array of unsigned 1-byte integers 
arMyArray[]   // A 1-dimensional array of structs 

참고 :

그래서 몇 가지 예를 제공합니다! 임베디드 소프트웨어에서는 여전히 일반적입니다.

해당 주제의 Wikipedia article도 참조하십시오.

+0

필자는이 명명 규칙을 싫어하지만 어쨌든 +1을 유용하게 사용합니다. :) – Skurmedel

관련 문제