设为首页 加入收藏

TOP

数组的定义,初始化,赋值,传参、返回值、求容量等的总结
2018-10-21 14:13:39 】 浏览:39
Tags:定义 初始 赋值 传参 返回 容量 总结

一)数组概述

  数组是用于储存多个相同类型数据的集合。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组中的元素存储在一个连续性的内存块中,并通过索引来访问(这一点也和结构和类中的字段不同,它们通过名称来访问)。

  在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。按数组内存的分配方式不同,可分为静态数组和动态数组。按描述维度的不同,可分为一维数组、二维数组、三维数组等。

  以下是经过相关测试实例:

 1 template<class T>
 2 vector<T> transmit_array_to_vec(const T data[], const int arraySize)
 3 {
 4     vector<T> tmp;
 5 
 6     for (int i = 0; i < arraySize; ++i) tmp.push_back(data[i]);
 7 
 8     return tmp;
 9 }
10 
11 template<class T>
12 void transmit_vec_to_array(const vector<T>& vec, T data[])
13 {
14     size_t len = sizeof(data);//4
15 
16     for (size_t i = 0; i < vec.size(); ++i) data[i] = vec[i];
17 }
18 
19 template<class T>
20 T* transmit_vec_to_array(const vector<T>& vec)
21 {
22     T* data = new T[vec.size()];
23 
24     for (size_t i = 0; i < vec.size(); ++i) data[i] = vec[i];
25 
26     return data;
27 }
28 
29 void test_about_array()
30 {
31     {
32         vector<int> vec = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
33         int* data = new int[10];
34         transmit_vec_to_array(vec, data);
35         size_t len = sizeof(data) / sizeof(int);//1
36         for (int i = 0; i < 10; ++i) printf("%d \n", data[i]);
37         delete[]data;
38     }
39     {
40         vector<int> vec = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
41         int data[10];
42         transmit_vec_to_array(vec, data);
43         size_t len = sizeof(data) / sizeof(int);//10
44     }
45     {
46         vector<int> vec = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
47         int* data = transmit_vec_to_array(vec);
48         size_t len = sizeof(data) / sizeof(int);//1
49         for (int i = 0; i < 10; ++i) cout << data[i] << endl;
50         delete[]data;
51     }
52     {
53         vector<int> vec;
54         int data[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
55         int len = sizeof(data) / sizeof(int);//10
56         vec = transmit_array_to_vec(data, len);
57     }
58 }
59 
60 int main()
61 {
62     test_about_array();//有关数组的传参、返回值、赋值、求容量的测试
63 
64     return 0;
65 }

二)数组的定义和初始化

 

三)数组的传参

 

四)返回值是数组

  

五)数组的长度计算

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇第 15 章 位操作(dualview) 下一篇第 16 章 C 预处理器和 C 库(条..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目