可以realloc的阵列,那么为什么要用指针?

这是一个工作安排面试我面对。 他们问我们是否可以realloc的阵列,我告诉没错。 然后,他们问 - 为什么我们需要三分,因为大多数人给出的理由是它浪费存储空间。 我不能给出满意的答案。 如果任何机构可以给任何满意的答复,我将不得不。 请提任何情况下上述语句可以反驳。

谢谢。

--------------解决方案-------------

您只能重新分配是动态分配的阵列。 如果它是静态分配的,它不能被[安全]重新分配。*

指针保留在内存中的数据的地址。 他们可以分配,释放,并动态地重新分配使用新/删除的C运算符++和malloc /免费C.

我强烈建议你阅读的C程序设计语言由Kernighan和Ritchie和坚实的C ++的文字 C ++从地上爬起来赫伯特Schildt。

使用动态内存,指针,偏移等都是基本的使用这两种语言。 不知道他们是如何工作的,以及为什么它们的存在将是一个可能的原因是潜在的雇主拒绝你。

* 编译器应该不会让你重新分配一个已经静态分配的任何东西,但如果这样做,该行为是未定义

该措辞是有点奇怪,但对我来说似乎是一个面试问题是一个开放式的问题,目的是让你解释你知道数组,指针,动态内存分配,等等。如果我是面试官我愿意候选人阐明之间的差异int *a = malloc(10 * sizeof(int));int a[10]; 的后续问题没有措辞非常好,但它可能是在轻推候选人指针和数组之间的差异的方向,掀起思路的尝试。

好。 你不能ReAlloc如果已静态声明数组。 使用(而非静态声明数组)指针的目的,是让你可以realloc的空间。 我想,在技术上是正确的,你可以realloc的静态定义的数组指针传递给它,但我不想。 该行为是不确定的,如果指针到不是由malloc分配的内存。

我真的不知道如何使用指针“浪费内存”。 该realloc函数: -

void *realloc(void *ptr, size_t size);

采用指向所述存储器以调整作为参数。 另外,还有一些用于指针比动态存储器足够多的用途,经过例如参考。

分类:C# 时间:2012-01-01 人气:0
本文关键词: C#中,指针,数据结构
分享到:

相关文章

  • 使用内存中的数据结构 2013-03-04

    我有没有使用RDBMS客​​户的要求,而是使用内存中的数据结构,如果重新启动服务器,那么应​​用程序的状态将恢复到最后保存的状态做的一切. 我没有使用内存中的数据的任何想法,我曾经使用MySQL的,而不是在内存中.如果任何人都可以请指导我一点关于这一点,任何教程或东西 下面是一些例子... public Object save(Object object, Class c) { database.ofy().put(object); return object; } public void de

  • 增加耐用性,以在内存中的数据结构 2014-12-23

    什么是一些流行的技术,您可以通过增加耐用性,以你的内存中的数据结构(即)如果该进程崩溃,您可以保留在该数据结构中的先前执行的操作? 如果我的数据结构包括元组只是一个列表,然后我只想把它们存储在一个SQL数据库,并且会给我的耐用性是免费的. 但是,如果我的数据结构是图形或一棵树? 有一件事我能想到的是明确地记录所有操作盘(仅追加记录),并在碰撞发生时,重播日志保留以前的状态. 如果日志变得太大,那么就会有一个压制步骤. 我猜这是一个数据库引擎内部做耐久性(检查点是这个过程叫做)? 顺便说一句注意,

  • 为在Java中的IP地址过滤器在内存中的数据结构的最佳选择 2012-03-08

    我有文件,是CIDR格式这样192.168.1.0/24 ,并转换成这两栏strucutre 3232236030 3232235777 每个字符串的IP地址皈依情况与此代码: String subnet = "192.168.1.0/24"; SubnetUtils utils = new SubnetUtils(subnet); Inet4Address a = (Inet4Address) InetAddress.getByName(utils.getInfo().getHigh

  • 搜索一个安全的幻数对内存中的数据结构 2013-06-07

    我实现一个堆分配器(malloc的),我需要选择一个神奇的数字,以检查是否给定的指针点我分配的数据结构. 它似乎很明显,我认为没有神奇的数字可以被认为是完全安全的(如果该号码被选中,我可以肯定的一点我的数据结构之一),但也许我错过了什么,所以......如果有人能帮助和给我带来我梦想中的号码,我会很感激. THX提前. --------------解决方案------------- 这取决于你这样做是为了什么. 如果你这样做尝试和catch编程错误(例如,你要确保你不小心混淆my_malloc

  • 中指针C ++数组 2012-01-01

    在C ++中,如果我想要一个指针数组,这样我可以有他们指向不同的对象,在后期是什么语法样子. 编辑 我要澄清一下,我试图做我猜. 我有一个类Foo有,并添加方法. 在add方法我需要引用类的吧. 我想保存参考到酒吧的一个指针数组. 指针棒阵列将需要所有的时间这我没有问题,要进行扩展. 它是对指针的堆创建和阵列,这样我以后可能会分配条形码对象,给他们. 我曾尝试似乎失败,因为类栏不会有一个默认的构造函数,编译器抱怨. 这使我认为,我是创造和我不想做实际的对象数组. 请没有STL,没有,我不想听你怎

  • C ++ 0x中指针aliasing- 2012-01-08

    我想C ++ 0x中(就像一个想法)脱节的指针别名. 我在想,如果看到它也同样可以实现为const correctness-就是由编译器执行. 什么是这样的事情有什么要求? 由于这更是一个思想实验,我完全高兴地看到,破坏旧代码或重新定义一半的语言和那种事的解决方案. 什么我真的不想做的是有,比方说, restrict从C99,其中程序员只承诺了. 应当执行. 我在想,我的unique_ptr不图书馆的一部分,但语言的一部分. 这样,编译器可以对它进行特殊优化,如果他们需要编写自己独特的指针类.

  • Python的:对维修器材表格式数据在内存中的数据结构? 2012-01-31

    我的情况如下:我有我在程序中使用大量的数据(几个字段,不到一百行)的表. 我也需要这样的数据是持久的,所以我将它保存为CSV并加载它在启动时. 我选择不使用一个数据库,因为每一种选择(甚至是SQLite的)是矫枉过正我卑微的要求(也 - 我希望能够以一种简单的方式离线编辑的值,没有什么是比简单的记事本). 假设我的数据如下所示(它没有逗号分隔的标题在文件中,这只是一个例子): Row | Name | Year | Priority -------------------------------

  • Objective-C的 - 如何实现在方法声明中指针数组 2012-02-07

    好吧,如果你看看我的两个以前的文章(特别是链接#2),我想问一下有关同一代码的附加问题. 在一个方法声明,我想定义参数作为指向指针数组,以feat_data哪个点中的一个. 我是那种茫然的去哪里,做什么,除非把(NSMutableArray的*)featDataArray在声明中像下面,并通过feat_data类型的另一个指针访问每个对象. 顺便说一句,对不起,是问这么多问题. 我无法找到一些像这样的事情在书中我使用或也许我找错了地方? -(void)someName:(NSMutableArr

  • 有没有类似于Java设置在JavaScript中的数据结构? 2012-03-28

    这个问题已经有了答案在这里: 一组数据结构的JavaScript实现4回答 我想使用在JavaScript的数据结构可用于ID的店号. 我应该能够检查是否有键已经存在的那一套,像Java的设置. 我想才达到同样的行为如下(此代码是在Java中): Set<String> st = new HashSet<String>(); //add elemets if(st.contains("aks") ){ //do something } 我想要一个JavaScri

  • 表像Java中的数据结构 2012-04-27

    原谅我,如果这个问题已经回答了其他地方,但我已经搜索漫长而艰难的,并没有找到答案. 我是新来的Java编程,我希望创建一个简单的表像的数据结构,按要求我可以操纵. 例如: 姓名,年龄,Hair_Colour鲍勃,20,黑约翰,25,拉里·布朗,30,黑 在PowerShell中,我只想创建自定义对象,填充它,然后把它们添加到一个数组. 不过,我在Java编码它挣扎. 我将不胜感激任何帮助,任何人都可以给我提供. 先谢谢你. --------------解决方案------------- 这是一个

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.866 (s). 10 q(s)