저는 C 언어 학습에 전념했습니다. 저는 Python/PHP/Bash에 능숙하지만 C 언어에 익숙하지 않아 제한적이라고 결정했습니다. 그러나리스트 나 해시가없는 언어로 작업하는 것을 상상할 수는 없습니다. 나는 총을 쏘고 있지만 확실하게 '표준'컬렉션 라이브러리가 있습니다. 그래도 GNU 표준 lib에 어떤 제안이 보이지 않습니까?C 언어 표준 컬렉션 Where are they?
답변
C는 이전보다 낮은 수준입니다. 배열 외부의 C에는 표준 콜렉션이 없습니다. C.는 매우 낮은 수준의 언어이기 때문에 정말 표준 컬렉션이 없습니다
예, OP는 함수 오버로딩이 없으며 함수 중간에 변수를 선언 할 수 없다는 것에 놀랄 것입니다. – Pyrolistical
@Pyrolistical C99는 함수의 중간에서 변수 선언을 허용합니다. – amrox
나는 분명하지 않았으며 그 점에 대해 나쁘다. 나는 '표준'에 대해 따옴표를 붙이는 것이 내가 커뮤니티 표준을 요구하고 있음을 분명히했다. – flaxeater
은
C++가 Standard Template Library를 통해 이러한 추가 (++보다 "현대"언어 C에 비해). 해시 및 목록과 같은 대부분의 "컬렉션"은 객체 지향 또는 일반 프로그래밍 기술을 기반으로합니다 (규약을 통하지 않고). C.
아마도 glib을 살펴보아야 할 것입니다. C++의 STL과 동일한 의미의 표준은 아니지만 입증 된 라이브러리이므로 많은 응용 프로그램에서 사용됩니다.
는 적어도 C99의로, 어떤 "표준"(ISO C 표준의 일부처럼) 컨테이너 라이브러리가 없습니다. 제 3 자 시도를 여러 번 보았습니다. 모두가 어느 정도의 손실을 입었습니다.
C에는 매우 원시적이고 빈약 한 툴킷이 있습니다. 나는 C 프로그래밍을 톱니톱과 발톱 망치로 집을 짓는 것과 비교했다.
표준은 없지만 : Dave Hanson의 C Interfaces and Implementations보다 훨씬 간단한 이라는 훌륭한 대안이 있습니다. 여기에는 몇 가지 효율적인 콜렉션 추상화 및 기타 유용한 모듈이 포함됩니다. 이 소프트웨어는 무료이며이 책은 가치가 있습니다.
시스템에 따라 "단일 연결 목록, 이중 연결 목록, 단순 대기열 및 테일 대기열 구현"을 포함하는 sys/queue.h에서 찾고있는 것을 찾을 수 있습니다.
- 1. Android 마켓 계정 : they are, all, *@gmail.com입니까?
- 2. C 언어 용으로 훌륭한 컬렉션 라이브러리가 있습니까?
- 3. 교차 언어 코딩 표준?
- 4. ContentObservers are no
- 5. (C 언어)
- 6. C 언어 의미 론적 설명
- 7. C 표준
- 8. C/C을 찾고 ++ 언어와 표준 라이브러리 사양
- 9. 개방형 표준 비즈니스 프로세스 실행 언어
- 10. 업계 표준 데이터베이스 모델링 언어 란 무엇입니까?
- 11. C# 제네릭과 컬렉션
- 12. 오브젝티브 -C 가비지 컬렉션
- 13. C++의 Polymorph 컬렉션
- 14. C# 코드 혼동 where
- 15. C++ 표준 라이브러리는 C 또는 어셈블리로 작성해야합니까?
- 16. LINQ (컬렉션 내의 컬렉션)로 코드 단순화
- 17. C/C++ 헤더 파일 표준?
- 18. 추상 기본 클래스의 C++ 컬렉션
- 19. C# 3.0의 새로운 컬렉션 인터페이스
- 20. 목표 C 컬렉션, 유니크 유지
- 21. 컬렉션 초기화가있는 lambdas를 사용하는 C#
- 22. C# 아시아 언어 지원
- 23. C# 언어 디자인 기둥
- 24. C# 언어 업데이트
- 25. 함수와 관련된 C++ 언어
- 26. C 언어 문제
- 27. C#으로 작성된 언어
- 28. strncpy 질문 (C 언어)
- 29. C++ 표준 : 설정 비교기
- 30. C++ 표준 생성자를 생성하십시오.
"제한적"이외의 다른 이유가 없으면 대신 C++ 학습을 시작하는 것이 좋습니다. C++에는 해시 테이블을 제외하고 원하는 벡터,리스트가 있습니다. C++ 0x로 추가되고 현대 컴파일러에서 이미 사용할 수 있습니다. – Thomas
VHL 언어 사용자가 C++, bash/PHP/Python을 주요 대상으로하지 않기 때문에 소비하는 인프라의 상당 부분을 C에 대해 더 많이 알 필요가 있습니다. – flaxeater