문자 대신 문자열을 사용하는 것이 적절한 경우는 언제입니까? 그 반대의 경우는 어떻습니까?언제 문자 대신 문자열을 사용 하시겠습니까?
1
A
답변
4
문자열과 문자는 근본적으로 다른 개념을 나타냅니다.
문자는 일종의 글리프 (glyph)를 나타내는 단일의 분리 할 수없는 단위입니다. 캐릭터와 함께 작업 할 때, 당신은 더 이상 또는 더 적은 하나의 캐릭터를 가질 수 있습니다. 문자로 작업하는 함수는이 사실을 알고있는 경우에 가장 적합합니다. 예를 들어 "Hangman"을 작성하고 사용자의 추측을 처리하려는 경우 추측을 처리하는 함수가 문자열이 아닌 문자를 가져 오는 것이 합리적입니다. 그 함수에 대한 입력 항상 한 글자 여야합니다.
문자열은 0 개 이상의 문자를 가져 와서 조합하여 구성된 복합 유형입니다. 문자열은 일반적으로 길이가 0 인 것을 포함하여 임의의 길이를 가질 수있는 텍스트를 나타내는 데 사용됩니다. 문자열에서 작동하는 함수는 입력이 문자로 이루어진 것으로 알려진 경우에 가장 적합하지만 글자 수를 분명히하지는 않습니다.
다른 옵션 중 하나는 문자의 고정 길이 배열을 사용하는 것으로 일부 k에 문자가 정확히k 문자라는 것을 알고있는 상황에 이상적입니다. 이것은별로 도움이되지 않지만 또 다른 선택입니다.
간단히 말해 글리프 길이가 긴 텍스트를 사용해야하는 경우 문자를 사용하십시오. 입력의 길이를 미리 모르는 경우 문자열을 사용하십시오. 입력에 특정 길이가 있음을 알고있는 경우 고정 크기 배열을 사용하십시오.
관련 문제
- 1. 언제 PendingIntent를 사용 하시겠습니까?
- 2. cron 대신 사용 하시겠습니까?
- 3. 언제 HTML 5를 사용 하시겠습니까?
- 4. XamlServices.Transform()은 언제 사용 하시겠습니까?
- 5. 기호 대신 문자열을 사용 : good 또는 evil?
- 6. 언제 문자 포인터
- 7. 문자열을 Linq.Expressions로 변환하거나 문자열을 선택기로 사용 하시겠습니까?
- 8. 문자열 대신 stringstream을 사용 하시겠습니까? - C++
- 9. MySQL 대신 JSON을 사용 하시겠습니까?
- 10. 폴링 데이터베이스 대신 사용 하시겠습니까?
- 11. fopen() 대신 Sqlite를 사용 하시겠습니까?
- 12. memcache 대신 cassandra를 사용 하시겠습니까?
- 13. Microsoft 대신 Jabber를 사용 하시겠습니까?
- 14. Ruby 대신 Scrapy를 사용 하시겠습니까?
- 15. Winsock 대신 Crossplatform을 사용 하시겠습니까?
- 16. HTTP 쿠키 대신 사용 하시겠습니까?
- 17. @ 기호 앞에 문자열을 사용 하시겠습니까?
- 18. $ _COOKIE []에 문자열을 사용 하시겠습니까?
- 19. 재귀 - 언제 사용 하시겠습니까? 사용하지 않을 때는
- 20. 언제 GUID를 기본 키로 사용 하시겠습니까?
- 21. Xerces에가 대신 XercesDOMParser를 사용
- 22. LINQ-to-XML의 XSD.EXE 대신 사용 하시겠습니까?
- 23. Facebook의 isNaN() JavaScript 함수 대신 사용 하시겠습니까?
- 24. C++ 대신 enum 값을 사용 하시겠습니까?
- 25. 열 이름 대신 sqlite에서 cid를 사용 하시겠습니까?
- 26. tortoisesvn : 암호 대신 키 인증을 사용 하시겠습니까?
- 27. mySQL 용 GAE 키 대신 사용 하시겠습니까?
- 28. goto 명령 대신 python을 사용 하시겠습니까?
- 29. Form 대신 C# WinForms Designer를 사용 하시겠습니까?
- 30. 파이썬 : 항상 __init__ 대신 __new__를 사용 하시겠습니까?
이것은 ... 놀라운 ... –
안녕하세요. 그것은 프로그램의 목적에 달려 있습니다. 대체로 일반적으로는 아무것도 아닙니다. – Mahesh
나는 이것이 매우 합리적인 질문이라고 생각한다. 왜 이것이 폐쇄 되었습니까? 그것은 매우 잘 작성된 것이 아니지만 실제로 질문하는 것입니다 - 왜 문자 대신에 문자열을 사용하고 그 반대도 마찬가지입니다 - 실제로는 매우 합리적이라고 생각합니다. – templatetypedef