code.club

 找回密碼
 立即註冊
搜索
查看: 7344|回復: 0
打印 上一主題 下一主題

new和delete的用法

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2015-10-19 23:41:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 enter 於 2015-10-20 15:12 編輯

#include <iostream>

using namespace std;

int main(int argc, char *argv[]) {
       
        float *f; //表示這是一個float型的指標變數
        long *l;
        char *c,*d;
       
        f = new float; //為此指標變數劃出一塊同型的記憶體區塊
        l = new long;
        c = new char;
        d = new char;
       
        *f = 2.3; //給指標變數賦值,如同傳統做法一般
        *l = 1234;
        *c = 'G'; //這樣只能輸入字元
        strcpy(d,"hello world"); //要賦值字串則需要用strcpy()的方式
       
        cout<<*f<<endl<<*l<<endl<<*c<<endl<<d<<endl; //要印出字串則d不能用指標*符號
       
        //delete f; //看似刪掉這個指標變數,其實是釋放它所指向的記憶體,但似乎不是刪掉這指標變數本身
        //delete l;
        //delete c;
       
        *f = 99.99; //因為可以又賦值給它們而不用再定義,但其實不用刪前面也可以重新賦值?
        *l = 88888;
        *c = 'W';
        strcpy(d,"good idea");
       
        cout<<*f<<endl<<*l<<endl<<*c<<endl<<d<<endl;
               
        return 0;
       
}
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|手機版|Archiver|code.club  

GMT+8, 2024-11-22 03:33 , Processed in 0.080636 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表