[笔记]C#中的指针数组

原创 2007年09月20日 15:05:00

C#提供了强大的数组管理,然而,他们实际上都是继承于Array类的,也就是说,他们全部存于Heap而不是Stack中。这在管理上带来了方便,然而,在效率上无法实现最优化。所幸的是,C#同样提供了指针数组,可以基于Stack来建立一个数组,并使用指针来操作这个数组。

decimal* pd = stackallc decimal[10];   // 建立指针数组,内存中将分配足够10个元素的连续空间。

指针数组地访问可以通过以下形式

*pd = 1.0;
*(pd+1)=2.0;

pd[0]=1.0;
pd[1]=2.0;

需要注意的是,指针数组在声明时候的空间量,并不会制约指针访问的范围。

decimal* pd = stackallc decima[10];
pd[19] = 2.0;  // 这是允许的

在这种情况下,如果这个位置是另一个变量的值,这个变量的值将被覆盖。所以,必须小心使用指针数组,以免造成不必要的麻烦。 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C语言指针数组函数笔记

  • 2009-06-01 19:16
  • 58KB
  • 下载

C#调用C++ 平台调用P/Invoke 结构体--含有内置数据类型的一维、二维数组、字符串指针【六】

【1】结构体中含有内置数据类型的一维数组 C++代码: typedef struct _testStru3 { int iValArrp[30]; WCHAR szChArr[30]; }t...

C#调用c++Dll结构体数组指针的问题

C#调用c++dll文件是一件很麻烦的事情,首先面临的是数据类型转换的问题,相信经常做c#开发的都和我一样把学校的那点c++底子都忘光了吧(语言特性类)。 网上有一大堆得转换对应表,也有一大堆的...

C/C++数组名与指针区别深入探索(转自刘志强的笔记)

C/C++数组名与指针区别深入探索  引言  指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在...
  • dgglx
  • dgglx
  • 2011-02-27 14:16
  • 1546

黑马程序员----C 语言学习笔记之结构体数组,指针,嵌套的使用

------Java培训、Android培训、iOS培训、.Net培训-------- 一、结构体数组概念及定义 1、概念 数组的元素也可以是结构类型。因此可以构成结构型数组。结构数组的每一...

C++学习笔记二 C++标准库 数组及指针

C++的string跟vector库分别定义了大小可变的字符串和集合。string跟vector往往将迭代器用作配套类型来访问string中的字符或者vector中的元素。string字符串的size...

php数组指针学习笔记(一)

有这么一个问题,一个数组队列,数组长度是固定的,当向输入插入元素时,超过最大长度后,数组自动头开始再覆盖填充。 这时候,整个数组就形成了一个环形。 $test_array = array(); ...

C语言深度解剖——读书笔记(数组和指针)

指针的内存布局 先看下面的例子: int *p; 在32 位系统下,不管什么样的指针类型,其大小都为4byte。可以测试一下sizeof(void *)。 int *p = NULL 和*p ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)