C 比C語言新增的特徵(一)

2021-08-03 04:52:07 字數 2304 閱讀 1101

1.c++變數的定義可以在語句之後,隨時隨地定義變數,而c語言變數的定義則必須在函式內所有語句的最上方

c++變數可以隨時定義:

#include"stdafx.h"

#include

int main(int argc,char*argv)

c語言定義變數必須在所有語句的最上方

#include

int main(int argc,char*argv)

2.c語言定義結構體變數時必須帶關鍵字,c++則不用

struct student

c++中直接用結構體名 student s1,s2;   s1.id=12;

c語言中則要用struct關鍵字才能定義結構體變數 struct student s1,s2;

3.引用型變數:新申請的變數和原來同型別的變數在同乙個位址上,引用型變數必須初始化,掛在乙個現有的同型別變數上,引用變數與源變數任何乙個數值改變則另乙個也變,引用型變數做引數是用來代替源變數

void swap(int *p,int  *n)

c語言中交換變數

#include

int main(int argc,char*argv)

c++中使用引用型變數

void swap(int &p,int  &n)

#include"stdafx.h"

#include

int main(int argc,char*argv)

ri和rj引用型變數實際也佔記憶體空間,相當於指標變數,乙個指向i,乙個指向j

4.輸入和輸出:c++用#include標頭檔案,還要使用命名空間,using namespace std;c語言使用#include標頭檔案

c語言輸入:scanf("%d %d",&i,&j);  輸出printf("i=%d\n",i)

;c++用count<<"請輸入:";輸出       用cin>>i>>j;輸入

5.同名函式:c語言不支援同名函式,c++支援兩個函式同名,但引數列表不同(個數和型別不完全相同),也就是過載函式,如果函式名和引數列表相同,但返回值型別不同,不能叫過載函式,兩個函式不能共存,過載函式只在於引數列表不同

6.命名空間namespacec語言中不支援namespace

c++支援

namespace mygame

}void init()

在使用時也可像std一樣一次性引用,using namespace mygame;就不用在寫作用域mygame::init()

在外部呼叫   mygame :: init();   ::稱為作用域,這裡是屬於mygame命名空間的init()

預設狀態下   ::init(),是呼叫沒有命名空間的init()

7.new 和delete

c語言中申請空間:

int *p=(int*)malloc(sizeof(int));// 堆內申請單個int變數

int *l=(int*)malloc(sizeof(int)*16);// 堆內申請多個int的陣列

int **p=(int**)malloc(sizeof(int)*16);// 堆內申請指標陣列

c++中申請空間:

int *p=new int;// 堆內申請單個int變數

int *l=new int[12];// 堆內申請陣列

int **p=new int *[12];// 堆內申請指標陣列

申請乙個結構體變數:student *s1=new student;

c語言釋放空間:

free(p);

c++釋放空間:

delete p;// 刪除堆上申請的乙個陣列

delete p;// 刪除堆上申請的單個空間

太極語言出世 比C 更好的語言

太極語言出世 比c 更好的語言 我設計了一種新的計算機語言 太極語言,英文名the universe language。我是2002年秋天開始做太極語言的,我是微波專業衛星通訊方向的,當時我正在編乙個非常複雜的程式,那個程式要自動做微積分自動推導一些電磁場與電磁波方程,用c 編覺的不夠靈活,於是下決...

C 比C的優勢

對於應用系統來說,用c 比用c要好 首先,c能做的c 都能做 其次,c 有很多優秀的庫,比各個公司自己寫的庫穩定,而且新入職員工本身可能就會使用,最重要的是c一直停止不前,而c 還在繼續發展,不斷完善。常用的庫 stl 和 boost庫 regex正規表示式庫 spirit ll parser fr...

數字特徵值(C語言)

題目內容 對數字求特徵值是常用的編碼演算法,奇偶特徵是一種簡單的特徵值。對於乙個整數,從個位開始對每一位數字編號,個位是1號,十位是2號,以此類推。這個整數在第n位上的數字記作x,如果x和n的奇偶性相同,則記下乙個1,否則記下乙個0。按照整數的順序把對應位的表示奇偶性的0和1都記錄下來,就形成了乙個...