【问题标题】:Returning array of pointers from function [closed]从函数返回指针数组[关闭]
【发布时间】:2014-05-10 20:22:20
【问题描述】:

我了解 C 不允许函数返回数组。

我正在编写一个使用提供的分隔符拆分字符串的函数。给定以下内存数据:

0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15

61 61 61 61 61 61 61 62 61 61 61 61 61 61 61 62
^                       ^
First string            Second string
starts here             starts here

目前,使用分隔符“b”(字节 62),该函数识别内存位置 0 和 8,并将 7(分隔符位置)设置为“\0”。

我应该如何将这些指针位置返回给调用者函数?

【问题讨论】:

  • 数组本质上只是一个指针,可以返回指针。
  • 当您向右看时,在“相关”文本下,您会发现已经提出和回答的各种问题......其中一些可能会对您有所帮助。

标签: c arrays string function


【解决方案1】:

你可以返回一个指针数组。 (指向指针的指针) 变量**

【讨论】:

    【解决方案2】:

    如果您需要返回多个值,那么有两个通用选项:

    • 提供“out”函数参数
    • 返回一个结构

    我假设您将指针返回到由调用者分配的存储中(例如调用者传入的字符串)。

    【讨论】:

      猜你喜欢
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 2019-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-07
      • 2011-12-06
      相关资源
      最近更新 更多