> 백엔드 개발 > C++ > 본문

C와 C++ 간의 비호환성

PHPz
풀어 주다: 2023-08-28 18:33:06
앞으로
1117명이 탐색했습니다.

C와 C++ 간의 비호환성

여기서 C와 C++ 사이의 일부 비호환성을 볼 수 있습니다. C 컴파일러로 컴파일할 수 있는 일부 C 코드는 C++ 컴파일러로 컴파일할 수 없습니다. 오류가 반환됩니다.

  • 매개변수 목록 다음에 매개변수 유형을 선택적으로 지정하는 구문을 사용하여 함수를 정의할 수 있습니다.

#include<stdio.h>
void my_function(x, y)int x;int y; { // Not valid in C++
   printf("x = %d, y = %d", x, y);
}
int main() {
   my_function(10, 20);
}
로그인 후 복사

Output

x = 10, y = 20
로그인 후 복사
로그인 후 복사

Output

Error in C++ :- x and y was not declared in this scope
로그인 후 복사
  • C 언어 또는 일부 이전 버전의 C++에서는 기본 변수 유형이 정수입니다. 그러나 새 버전의 C++에서는 오류가 발생합니다.

Example

#include<stdio.h>
main() {
   const x = 10;
   const y = 20;
   printf("x = %d, y = %d", x, y);
}
로그인 후 복사

Output

x = 10, y = 20
로그인 후 복사
로그인 후 복사

Output

Error in C++ :- x does not name a type
y does not name a type
로그인 후 복사
  • C 언어에서는 extern 키워드를 사용하지 않고도 전역 데이터 개체를 여러 번 선언할 수 있습니다. C 컴파일러는 이것을 여러 선언 중 하나의 선언으로 처리합니다.

Example

#include<stdio.h>
int x;
int x;
int main() {
   x = 10;
   printf("x = %d", x);
}
로그인 후 복사

Output

x = 10
로그인 후 복사

Output

Error in C++ :- Redefinition of int x
로그인 후 복사
  • C 언어에서는 void 포인터를 할당 연산자의 오른쪽 피연산자로 사용하거나 포인터 유형 변수를 초기화할 수 있습니다.

Example

#include<stdio.h>
#include<malloc.h>
void my_function(int n) {
   int* ptr = malloc(n* sizeof(int)); //implicitly convert void* to int*
   printf("Array created. Size: %d", n);
}
main() {
   my_function(10);
}
로그인 후 복사

Output

Array created. Size: 10
로그인 후 복사

Output

Error in C++ :- Invalid conversion of void* to int*
로그인 후 복사
  • C 언어에서는 매개변수 유형을 지정하지 않으면 여러 매개변수를 전달할 수 있습니다.

#include<stdio.h>
void my_function() {
   printf("Inside my_function");
}
main() {
   my_function(10, "Hello", 2.568, &#39;a&#39;);
}
로그인 후 복사

Output

Inside my_function
로그인 후 복사

Output

Error in C++ :- Too many arguments to function &#39;void my_function()&#39;
로그인 후 복사

위 내용은 C와 C++ 간의 비호환성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!