C 中指標的簡單使用

2022-11-24 18:36:02 字數 624 閱讀 4431

原來c#不僅僅支援和c/c++中指標(或者說是引用)很像的委託delegate,還支援在unsafe**塊中使用指標,從而寫非託管的**(人為不讓垃圾**機制來管理相應的記憶體)。在unsafe中就可以使用指標,基本用法和c++差不多(果然是一家人,哈哈)。

在用指標呼叫陣列的時候需要使用fixed語句(只能在unsafe語句塊中使用)來固定指標變數的初始值,否則可能被垃圾**機制改變指標變數的值,fixed語句可以禁止垃圾**機制重定位可移動的變數。

fixed語句中可以設定指向託管變數的指標,並且執行該語句期間可以固定某變數。

基本語法

fixed (《需要固定的變數》);27

28fixed (int* p =list)

293435}

36}3738

39/*

**************************************

*/40

console.writeline();

41console.readkey();42}

43}4445

46 }

例子的結果圖是

注意,在vs中執行unsafe的**的時候需要在project的屬性中找到bulid,勾選允許非安全的**這一項。

C 中指標使用總結

一 vs2010中開啟unsafe code 的方式 unsafe static void main string args unsafe 然後再專案上點選滑鼠右鍵,選擇 屬性 在 生成 選項卡中選中 允許不安全 sbyte,byte,short,ushort,int,uint,long,ulong...

C C 中指標間的互相賦值

本篇文章分為三個大的部分 大標題1提出許可權 概念 大標題2驗證賦值規則 大標題3 4 5是我的個人理解。大標題6是最直接的結論。提醒 看懂這篇文章可能需要你知道並理解四種指標的定義,這是基礎。當然如果真的不懂,可以直接去文尾記住結論。四種指標詳解戳這 普通指標 指標常量 常量指標 四號指標 這個許...

使用sed獲取字串中指定的內容

字串 abcde socket data mysql mysql.sock port 3306 datadir data mysql abcde 我要獲取其中的埠 echo abcde socket data mysql mysql.sock port 3306 datadir data mysql...