delphi pchar 指標錯誤

來源:互聯網
上載者:User

標籤:

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

var

  P: Pchar; //P 是指標

  CSize: Cardinal;

begin

  CSize := MAX_COMPUTERNAME_LENGTH + 1;

  GetMem(P, CSIze);//在這裡你給 P 分配了一塊記憶體。

  P := ‘4321‘; //這裡你將 P 指向另一處含有常量 ‘4321‘ 的記憶體。此時先前給 P 分配的記憶體

                 //已經成了“孤島”,就是通常所說的“記憶體流失”。

  ShowMessage(P);

  FreeMem(P); //常量 ‘4321‘ 的記憶體是由系統自動管理的,不允許人工釋放。

end;

  

//下面代碼正常:

var

  P: Pchar; //P 是指標

  CSize: Cardinal;

begin

  CSize := MAX_COMPUTERNAME_LENGTH + 1;

  GetMem(P, CSIze);//在這裡你給 P 分配了一塊記憶體。

  strcopy(P,‘4321‘); //將常量 ‘4321‘ 複製到先前給 P 分配的記憶體裡。

  ShowMessage(P);

  FreeMem(P); //釋放給 P 分配的記憶體。

end;

delphi pchar 指標錯誤

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.