C++與C區別隨筆記錄
阿新 • • 發佈:2018-12-12
1、全域性變數
#include <stdio.h>
int a=100;
int a;
void main()
{
printf("%d\n",a);
}
//C語言中以上寫法是可以的
#include <iostream>
using namespace std;
int a=100;
int a;
void main()
{
cout<<a<<endl;
}
////C++語言中以上寫法是不可以的
2、struct
#include <stdio.h> struct TT { int age; }; void main() { struct TT t; } //C語言中定義結構體物件struct不能省略 #include <iostream> using namespace std; struct TT { int age; }; void main() { TT t; } //C++語言中定義結構體物件struct可以省略
3、表示式
#include <stdio.h>
void main()
{
int a,b;
(a>b?a:b)=20;
}
//C語言中三目表示式返回的是一個數,不能作為左值
#include <iostream>
using namespace std;
void main()
{
int a=1,b=2;
(a>b?a:b)=100;
}
//C++語言中三目表示式返回的是一個變數,能作為左值
4、const
#include <stdio.h> void main() { const int a=100; int *p=NULL; p=&a; *p=200; } //C語言中const的值會被修改 #include <iostream> using namespace std; void main() { const int a=100; int *p=NULL; p=&a; *p=200; } //C++語言中const的值不會被修改