C가 C의 하위 집합인 경우의 예외
C가 C의 하위 집합이라고 일반적으로 언급되지만 이 주장은 완전히 정확하지는 않습니다. . C와 C의 특정 버전을 비교할 때 차이점이 나타납니다.
C89와 C의 차이점
-
잠정적 정의 없음: C는 그렇지 않습니다. 정의 없이 같은 이름을 가진 변수를 다시 선언하는 것은 허용되지 않습니다. between.
-
다양한 배열 유형 호환성: C는 특정 크기의 배열(예: int a[1])과 지정되지 않은 크기의 배열(예: int (*ap)[ ]), C에서는 호환이 가능합니다.
-
K&R 함수 선언 없음 스타일: C에는 함수 정의에 대해 다른 구문이 필요하며 이전 K&R 스타일(예: int b(a) int a; { })을 허용하지 않습니다.
-
중첩된 구조체 범위 차이: C에서 중첩된 구조체는 클래스 수준 선언으로 처리되므로 바깥쪽 구조체 외부에서는 액세스할 수 없습니다. struct.
-
기본 int 유형 없음: int가 기본적으로 가정되는 C와 달리 C에서는 자동 변수에 명시적 유형 지정자가 필요합니다.
C99와 C 차이점
C99는 엄격한 C와 추가적인 차이점을 도입합니다. 호환성:
-
배열 차원 제한: C99에서는 함수 매개변수의 배열 차원을 지정할 때 특정 특수 문자를 허용하지 않습니다.
-
가변 길이 배열의 부재: 상수가 아닌 표현식을 크기로 사용하여 선언된 가변 길이 배열은 C에서 지원되지 않습니다. .
-
유연한 배열 멤버 없음: 런타임에 크기를 지정할 수 있는 C99의 유연한 배열 멤버는 C와 호환되지 않습니다.
-
제한 한정자: 최적화 목적으로 사용되는 C의 제한 한정자는 다음에서 사용할 수 없습니다. C99.
위 내용은 C는 정말로 C의 하위 집합인가요: 주요 차이점과 예외 탐색?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!