1. 程式人生 > >c#中使用陣列指標

c#中使用陣列指標

專案中需要對一個c寫的演算法進行測試,搞點圖形化效果來顯示運算結果,以便突出其準確率。

因此需要將其從c語言轉換成c#,以便繪圖。

演算法中對陣列大量採用了指標操作,鑑於演算法中很多函式引數不確定是輸入作用還是輸出作用,還是兩者兼之,

因而,打算保留對陣列的指標操作方式。

1. 在使用指標操作的函式前,申明函式為 unsafe,例如:

    public unsafe  void cwt(int* signal)

2. 在初始化陣列指標時,採用fixed關鍵字包裹,例如:

        int[] memory;

        fixed (int* single= &memory[0]){...}

    若需要初始化多個型別相同的陣列指標,例程如下:

        fixed (int* signal1= &memory[0],int* signal2=&memory[1024]){...}

3. 在專案“屬性”的“生成”選項卡中,勾上“允許不安全程式碼”

這樣一來,移植的工作就變得簡單許多了吧,呵呵

相關推薦

C++陣列指標之間的關係梳理

C++中陣列和指標是兩個十分常用且關係密切的資料結構,“陣列即指標,指標即陣列”的言論一直層出不窮。從本質上講,陣列和指標是不同的,陣列是具有確定數量的元素,而指標只是一個標量值。但是,在某些情況下陣列和指標又能相互轉換。下面,將從多個角度分析陣列和指標。 1. 陣列和指標互相轉換 陣列

C++陣列作為形參時,實際傳的是指標

傳陣列時,實際上是建立了臨時的指標變數,指向傳進去的那個陣列。在函式中改變形引數組(臨時指標變數)的指向是可以的,只不過這樣做不會改變原來的陣列 //例子說明陣列做形參時,實際上是用一個臨時指標變數做形參,指向傳進去的陣列首地址。實際的陣列是常指標,不能改變它的值。 #i

C++函式指標以及函式指標陣列的簡單使用

最近複習C++,突然看到函式指標,由於自己上學期C++學習的比較水,所以在這裡專門總結一下。 與普通的指標相似,指向函式的指標包含記憶體中該函式的地址。對比陣列,陣列名實際是陣列的第一個元素在記憶體中的地址。類似的,函式名實際上是這個函式程式碼在記憶體中的開始地

【軟體開發底層知識修煉】二十七 C/C++指標陣列是不同的

上幾篇文章學習了ABI-應用程式二進位制介面:【軟體開發底層知識修煉】二十六 ABI-應用程式二進位制介面 學習總結文章目錄 本篇文章就指標與陣列的聯絡與區別來學習學習 文章目錄 1 疑問 2 指標

C/C++字元指標和字元陣列、字元指標陣列及指向指標指標的含義

字元指標和字元陣列 char* s1="hello"; char  s2[]="world";兩個表示式的含義是一樣的.如果講不同之處的話,VC6中編譯時,對這兩種定義進行了不同的處理;char *s1 = "hello"; 中的"hello",編譯時指標指向的區域位於PE

C語言陣列指標 作為形參

2015 0605 在修改程式的過程中,看到兩種將陣列作為形參的方法,於是搜了一下,找了一下比較全面地介紹陣列指標的文章。 先寫下我遇到的兩種方式: 方式1: void filter_c(long double *,long double *,float *,int);//

c陣列的總結

陣列 定義:陣列是有序的並且具有相同型別的資料的集合。 一維陣列 1、一般形式:型別說明符數  陣列名[常量表達式];例如:int a[10];元素為a[0]-a[] 2、常量表達式中不允許包含變數,可以包含常量或符號常量。 3、陣列元素下標可以是任何整型常量、整型變數或任何整型

C++ this指標的詳解 C++this指標的用法詳解

C++中this指標的用法詳解   轉自:http://blog.chinaunix.net/uid-21411227-id-1826942.html 1. this指標的用處:   一個物件的this指標並不是物件本身的一部分,不會影響sizeof(物件)的結果

c++this指標的用法詳解

為什麼引入this指標?     最簡單的應用場景就是:當我們在類中定義了一個變數,同時在類成員函式中定義了同一變數時,也就是說變數名重複時,但是我們想使用類中定義的變數,這個時候我們該怎麼辦呢?這個時候就是this指標大顯身手的時候了。為此我們引入this指標

《隨筆十七》—— C++的 “ 指標詳解 ”

目錄 指標的概念 指標所指向的型別 指標的值 指標本身所佔據的記憶體區 指標的算術運算          運算子&和* 指標表示式 陣列和指標的關係 指標和結構型別的關係 指標和函式的關係

c++ 指標和引用

首先: 指標是儲存的變數的地址,引用是變數的別名,這個必須記住 單純的給變數取別名沒有任何的意義,作為引數傳遞,能保證引數傳遞過程中不產生任何的副本 引用可以直接操作變數,但指標的話必須通過(*p)間接的操作變數,指標可讀性行比較低 //引用必須要有初始值 //

c++使用指標呼叫函式和使用指標呼叫類物件的()過載函式

使用函式指標時,指標可以像函式名一樣,直接加括號和引數列表呼叫;也可先解引用再呼叫 //include directories... using namespace std; void testFun() { cout<<"this is

c++this指標的理解(轉載:苦澀的茶 ——產品開發 C++類this指標的理解)

先要理解class的意思。class應該理解為一種型別,象int,char一樣,是使用者自定義的型別。用這個型別可以來宣告一個變數,比如int x, myclass my等等。這樣就像變數x具有int型別一樣,變數my具有myclass型別。理解了這個,就好解釋this了,m

C語言-陣列指標指標陣列

1、思考 下面這些宣告合法嗎?    int array[5];   int matrix[3][3];   int * pa = array;   int * pm = matrix; 問題:    array代表陣列首元素的地址,那麼matrix代表什麼? 

c#陣列 list Arraylist

陣列: int [] a = new int[3]; 優點:存放相同型別的資料,陣列在記憶體中是連續儲存的,所以它的索引速度是非 常的快,而且賦值與修改元素也很簡單。 缺點:在陣列的兩個資料間插入資料很麻煩,還有我們在宣告陣列的時候,必須同時指明陣列的長度,陣列的長度過長,會

重新認識memset函式及c++陣列的初始化賦值

下面就好好重新認識一下這個函式,自己寫了測試的程式碼,memset到底怎麼用呢? 先貼測試程式碼: #include<iostream> #include<cstdio> #include<algorithm> #include<string>

C++陣列和vector的比較

一、陣列C++中陣列是一種內建的資料型別。陣列是存放型別相同的物件的容器,陣列的大小確定不變,不能隨意向陣列中增加元素。1、定義和初始化內建陣列(1)陣列的大小不變,(a[d],d為陣列的維度),陣列的維度必須是一個常量表達式。定義陣列的時,必須指定陣列的型別和大小。(2)初

C++this指標的作用以及用法詳解

為什麼引用this指標? 當我們在類中定義了一個變數,同時又在類成員函式中定義了同一個變數時,也就是變數名重複時,但是我們要想使用類中的定義的變數,此時就需要this指標了。 1.this指標的作用 指標存在於類的成員函式中,指向被呼叫函式類例項的地址。  一個物件的thi

C++this指標的本質

一直以來對C++中的this不理解,只知道在建構函式中,如果建構函式的引數和類成員的名字一樣的話,就可以用this指標來區分,如: this->a = a; 一直以來都有這個疑問:this究竟是什麼?我們明明沒有定義這個this,但是我們可以直接用

C語言陣列指標指標陣列

在陣列指標和指標陣列這塊我總是弄不清楚,總結一下 指標陣列:用於儲存指標的陣列,也就是陣列元素都是指標 陣列指標:指向陣列的指標 關於這部分有一道題:        一個有10個指標的陣列,該指標指向一個函式,該函式有一個整型