5数组指针和引用:数组

  • 数组

    • 一维数组:数据类型  数组名 [常量表达式]

      • 注意:

        • 命名规则和变量名相同
        • 数组后面一定是[],方括号内 是常量表达式
        • 常量表达式表达元素的个数,即数组的长度
        • 定义数组的常量表达式不能是变量
      • 引用:
        • 一维数组引用的一般形式:数组名[下标]
        • 数组元素的下标起始值为0
      • 初始化:
        • 单个元素逐一赋值   a[10]=1;a[9]=100;......
        • 聚合方式赋值   
          • int a[10]={1,2,.....10} ;
          • int a[]={1,2,.....10}  ;
          • int a[10]={1,2,.....7} 没被赋值的元素 默认补0
    • 二维数组:数据类型 数组名[常量表达式1][常量表达式2] 
      • 注意:

        • 数组名按照标识符命名
        • 二维数组有两个下标 a[3][4]
        • 下标一定是整数a[3][4]表示有12个元素
        • 声明的时候 下标不能是变量
        • 一维数组:连续的内存单位进行排序  二维数组:存储形式与一维相同
      • 引用:
        • 数组名[下标][下标]
        • 起始值从0开始
      • 初始化:
        • 单一元素逐一赋值
        • 聚合方式赋值
          • int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
          • int a[3][4]={1,2,3,4} 后面补0;
          • int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}
    • 字符数组:char 数组名 [常量表达式] 
      • 初始化:

        • 聚合方式

          • char a[11]={‘H‘,‘E‘,‘L‘,‘L‘,‘O‘}未赋值的 补\0  ;
          • a[]={‘H‘,‘E‘,‘L‘,‘L‘,‘O‘}  默认开辟六个内存单元,因为有个\0
        • 直接赋字符串 char a[]="fdsgfdsgds"
      • 注意:
        • 聚合方式初始化,只能在数组声明的时候使用,其他时候不可以用聚合方式初始化
        • 声明两个不同的数组  char a[];char b[];   a=b(不可以); b[0]=a[0] 可以

原文地址:https://www.cnblogs.com/binglingtime/p/12590844.html

时间: 2024-11-09 19:53:36

5数组指针和引用:数组的相关文章

C++数组指针的引用

数组指针的引用: int a[10]; int * const &b=a; int (&b)[10]=a 在把数组指针的引用传进去,也是以这样的格式,而且参数名可以和全局变量同名 引用不能为空,指针可以为空 "sizeof 引用"得到的是所指向的变量(对象)的大小,而"sizeof 指针"得到的是指针本身的大小 常量指针的引用不能赋值为别的指针,而指针变量的引用可以赋值为别的指针 引用必须初始化,而指针需要赋值为空以防野指针 存疑: 至于引用和指针的

数组、指针数组、数组指针、返回数组指针的函数的关系

直接上代码吧,解释说得很清楚了. // C++Primer.cpp : 定义控制台应用程序的入口点. #include "stdafx.h" #include <iostream> using namespace std; int (*function(int i))[10];//返回数组指针的函数 int main() { cout<<"数组.指针数组.数组指针.返回数组指针的函数:"<<endl<<endl; in

动态创建二维vector数组+指针与引用的区别

二维vectorvector<vector <int> > ivec(m ,vector<int>(n));    //m*n的二维vector 动态创建m*n的二维vector方法一:vector<vector <int> > ivec;ivec.resize(m);for(int i=0;i<m;i++) ivec[i].resize(n); 方法二:vector<vector <int> > ivec;ivec

获取动态数组指针 所指向数组长度的一种方法

经常在程序中会动态创建一个数组.将用一个指针来指向这个数组. 刚学C++,在动手想写东西时,考虑到想要取得这个动态数组的长度.网上找了点资料.基本想没得到好的答案,但看到了有人提到用 _msize取内存计算的方法.我自己测试了一下,貌似可以. 亲测代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 struct DATA {     int price;     char name[100]; }; void fn(D

C语言数组指针(指向数组的指针)

注意:数组指针的定义,与指针数组的区别 转载:http://c.biancheng.net/cpp/biancheng/view/162.html 指向多维数组元素的指针变量 ① 指向数组元素的指针变量[例6.7]输出二维数组各元素的值.这里采用的方法是用基类型为整型的指针变量先后指向各元素,逐个输出它们的值. #include <iostream> using namespace std; int main( ) { int a[3][4]={1,3,5,7,9,11,13,15,17,19

c语言中数组,指针数组,数组指针,二维数组指针

1.数组和指针 int array[5] = {1,2,3,4,5};// 定义数组 // 1. 指针和数组的关系 int * pa = array; pa = array; // p[0] == *(p+0) == array[0] == *(array+0) printf("%p\n", pa); printf("%p\n", array); /* 访问数组两种方式 1. 下标法访问 数组名[下标] 指针[下标] 下标:偏移量 2. 指针法访问 *(p+1) *

返回数组指针或引用。

法一:基本写法 int (&fun()) [5]; 法二:类型别名 using arrT = int[5]; arrT& fun(); 法三:尾置返回类型 auto fun() -> int(&) [5]; 法四:使用decltype关键字 int a[5] = {1,2,3,4,5}; decltype(a) &fun(); eg: int a[5] = { 1,2,3,4,5 }; decltype(a) &fun(){    return a;} int

C++数组,指针,引用以及三者的复合类型

C++数组,指针,引用以及三者的复合类型 这里省去了对这三者的单独介绍,仅仅介绍使用这三者组成的组合类型. 一.两两组合 这三者的两两组合有9种: 数组 指针 引用 数组 数组的数组 数组的指针 数组的引用 指针 指针的数组 指针的指针 指针的引用 引用 引用的数组 引用的指针 引用的引用 1.指针的指针.数组的数组.数组的指针.指针的数组 指针的指针(二维指针),数组的数组(二维数组),数组的指针和指针的数组这里就不介绍了,很多博客文章书籍都有详细的介绍.它们的形式是: 指针的指针: int*

指针和引用(3)指针数组和数组指针

1.知识点 1.1指针数组--存放指针的数组 (1)指针数组本质上是一个数组,指针是数组中的内容,表示数组中的每个元素都是指针,因此指针数组就是存放指针的数组.下面是指针数组的用法: 1 int a = 10, b = 20; 2 int *p[3]; 3 p[0] = &a; 4 p[2] = &b; (2)指针数组的定义可以抽象为:指向变量类型 * 数组名称[数组长度]. (3)[]的优先级高于*,所以[]与p先结合,说明p是一个数组,长度为3,其数组元素的类型是int *. 1.2数