Memory 一个字符串需要多少内存
我知道这是一个非常基本的问题。我读过维基百科和几页MSDN的记忆。但我仍然不确定在程序执行期间,下面的处理是如何发生的 当我在程序中声明一个长字符串时Memory 一个字符串需要多少内存,memory,memory-management,data-structures,Memory,Memory Management,Data Structures,我知道这是一个非常基本的问题。我读过维基百科和几页MSDN的记忆。但我仍然不确定在程序执行期间,下面的处理是如何发生的 当我在程序中声明一个长字符串时 哪个内存编译器用于存储该值?(我想是拉姆) 它需要多少内存空间?(考虑到它是一台8位机器,字符串类似于‘我是计算机编程新手’) 当我在运行时更新字符串值时,编译器如何知道哪个内存地址字符串值存在 当我创建一个矩阵时,那么单个值是如何存储到内存中的呢 请考虑我在.NET中使用C语言,这里是我的字符串s=“我是计算机编程新手” 提前谢谢。第一部分,弦
提前谢谢。第一部分,弦乐 正如许多人告诉您的,有许多方法来表示字符串。最常见的做法是将字符串存储为数组。但是,您需要一些额外的信息:这个数组的长度 每种(过程式或命令式)语言都以不同的方式解决这个问题
float A[W][H];
你至少分配
sizeof(float)*W*H
存储数据的内存字节数。通过访问地址处的内存字节来访问[i][j]
addr(A) + (i * H + j)
addr(A) + (j * W + i)
还是地址
addr(A) + (i * H + j)
addr(A) + (j * W + i)
这是C和Fortran使用的两种方法
但是,如果需要存储一些稀疏矩阵,可能还有其他一些选项。例如,您可以存储表示矩阵中非零元素的三元组(i、j、value)。表示
字符串的方法有很多种。
,您能否至少为我们提供一种语言或编译器?这是一个非常普遍的问题,给我们提供更多信息、平台、语言等,并请关注问题。对于矩阵,也有各种可能的表示法。如上所述,答案实际上取决于您使用的语言/平台。