Home Backend Development C#.Net Tutorial How to return array from function in c++

How to return array from function in c++

Feb 10, 2020 am 08:56 AM
c++

How to return array from function in c++

#c How to return an array from a function?

C Returning an array from a function

C Returning a complete array as a function parameter is not allowed. However, you can return a pointer to an array by specifying the array name without an index.

If you want to return a one-dimensional array from a function, you must declare a function that returns a pointer, as follows:

int * myFunction()
{
.
.
.
}

In addition, C does not support returning the address of a local variable outside a function. Unless local variables are defined as static variables.

Now, let us look at the following function, which will generate 10 random numbers and return them using an array, as follows:

Example

#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
// 要生成和返回随机数的函数
int * getRandom( )
{
  static int  r[10];
 
  // 设置种子
  srand( (unsigned)time( NULL ) );
  for (int i = 0; i < 10; ++i)
  {
    r[i] = rand();
    cout << r[i] << endl;
  }
 
  return r;
}
 
// 要调用上面定义函数的主函数
int main ()
{
   // 一个指向整数的指针
   int *p;
 
   p = getRandom();
   for ( int i = 0; i < 10; i++ )
   {
       cout << "*(p + " << i << ") : ";
       cout << *(p + i) << endl;
   }
 
   return 0;
}

When the above When the code is compiled and executed, it produces the following results:

624723190
1468735695
807113585
976495677
613357504
1377296355
1530315259
1778906708
1820354158
667126415
*(p + 0) : 624723190
*(p + 1) : 1468735695
*(p + 2) : 807113585
*(p + 3) : 976495677
*(p + 4) : 613357504
*(p + 5) : 1377296355
*(p + 6) : 1530315259
*(p + 7) : 1778906708
*(p + 8) : 1820354158
*(p + 9) : 667126415

The above is the detailed content of How to return array from function in c++. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1502
276
C   fold expressions example C fold expressions example Jul 28, 2025 am 02:37 AM

C folderexpressions is a feature introduced by C 17 to simplify recursive operations in variadic parameter templates. 1. Left fold (args...) sum from left to right, such as sum(1,2,3,4,5) returns 15; 2. Logical and (args&&...) determine whether all parameters are true, and empty packets return true; 3. Use (std::cout

C   binary search tree example C binary search tree example Jul 28, 2025 am 02:26 AM

ABinarySearchTree(BST)isabinarytreewheretheleftsubtreecontainsonlynodeswithvalueslessthanthenode’svalue,therightsubtreecontainsonlynodeswithvaluesgreaterthanthenode’svalue,andbothsubtreesmustalsobeBSTs;1.TheC implementationincludesaTreeNodestructure

C   reference example C reference example Jul 28, 2025 am 02:23 AM

References are alias for variables, which must be initialized at declaration and cannot be rebinded. 1. References share the same memory address through alias. Modifying any name will affect the original value; 2. References can be used to achieve bidirectional transmission and avoid copy overhead; 3. References cannot be empty and have the grammar, and do not have the ability to repoint compared to pointers; 4. ConstT& can be used to safely pass parameters, prevent modification and support binding of temporary objects; 5. References of local variables should not be returned to avoid dangling reference errors. Mastering citations is the key foundation for understanding modern C.

C   fstream example C fstream example Jul 28, 2025 am 01:20 AM

First, let’s clarify the answer: This article introduces the use of fstream in C, including basic file read and write operations and advanced bidirectional read and write functions. 1. Use std::fstream to define the file flow object, and open the file in a specified mode (such as std::ios::out, std::ios::in); use it when writing

What are the correct launch.json settings for debugging a C   application with GDB on Linux? What are the correct launch.json settings for debugging a C application with GDB on Linux? Aug 04, 2025 am 03:46 AM

TodebugaC applicationusingGDBinVisualStudioCode,configurethelaunch.jsonfilecorrectly;keysettingsincludespecifyingtheexecutablepathwith"program",setting"MIMode"to"gdb"and"type"to"cppdbg",using"ex

C   endianness check example C endianness check example Jul 30, 2025 am 02:30 AM

The system endianness can be detected by a variety of methods, the most commonly used is the union or pointer method. 1. Use a union: Assign uint32_t to 0x01020304, if the lowest address byte is 0x04, it is a small endian, and if it is 0x01, it is a big endian; 2. Use pointer conversion: Assign uint16_t to 0x0102, read the byte order through the uint8_t pointer, [0]==0x02 and [1]==0x01 is a small endian, otherwise it is a big endian; 3. Compilation-time detection: define the constexpr function to determine whether the (char)&int variable is 1, and combine ifconstexpr to determine the endian order during the compilation period; 4. Runtime macro encapsulation: use (char*)&amp

C   char array to string example C char array to string example Aug 02, 2025 am 05:52 AM

The answer is: Use the std::string constructor to convert the char array to std::string. If the array contains the intermediate '\0', the length must be specified. 1. For C-style strings ending with '\0', use std::stringstr(charArray); to complete the conversion; 2. If the char array contains the middle '\0' but needs to convert the first N characters, use std::stringstr(charArray,length); to clearly specify the length; 3. When processing a fixed-size array, make sure it ends with '\0' and then convert it; 4. Use str.assign(charArray,charArray strl

C   find in vector example C find in vector example Aug 02, 2025 am 08:40 AM

The most common method of finding vector elements in C is to use std::find. 1. Use std::find to search with the iterator range and target value. By comparing whether the returned iterator is equal to end(), we can judge whether it is found; 2. For custom types or complex conditions, std::find_if should be used and predicate functions or lambda expressions should be passed; 3. When searching for standard types such as strings, you can directly pass the target string; 4. The complexity of each search is O(n), which is suitable for small-scale data. For frequent searches, you should consider using std::set or std::unordered_set. This method is simple, effective and widely applicable to various search scenarios.

See all articles