美文网首页
数组和指针

数组和指针

作者: c菜鸟 | 来源:发表于2017-12-19 14:56 被阅读0次

首先数组的定义是一系列类型相同的元素构成

数组的声明

int   arr[10];    //数组的元素类型是int,大小是10个

数组的初始化

int   arr[5] ={0, 1, 2, 3, 4};     //大括号包围,中间每个元素用逗号隔开

使用for循环为数组赋值

for(int  i =0; i <(sizeof(arr)/sizeof(arr[0]));i++){

       arr[i]   = value;

} //sizeof()部分是为为了计算数组部分

注意c中只允许初始化时赋值,不允许把数组作为一个整体赋值,也不支持花括号括起来的列表赋值(初始化除外),也就是下面的意思

int arr[4];

arr[4] ={1, 2, 3, 4};   //不允许的

c中要是不给数组初始化,数组会存放一些无用的值,但是如果给数组初始化一部分,那么其余部分自动初始化为0

生命一个不能改变的数组,就是数组中的值不能改变,用const修饰符

const  int  arr[10] ={1, 2, 4, 5, 6, 7, 8, 3, 2, 11}

数组的大小,就是中括号中的值必须是一个整数常量,但是const,不是整数常量

c99中引入了变长数组VLA

int n =5;

int arr[n];

数组和指针的关系

数组名就是地址,也就是数组中第一个元素的地址,对于一维数组

int  arr[2] = {1, 2}

int *p = arr;

如果把一个数组传递给函数,那么函数的形参可以使用数组和指针俩种形式,求数组中所有元素和

int   sum(int  *p)  //指针形式

int   sum(int arr[])   //数组形式

一般对指针进行+1,等操作,加的是一个数组元素类型字节,而不是1个字节,通常+1表示下一个数组元素的地址

多维数组与指针

int arr[2][2] ={{1,2},{3,4}};

数组名也是地址arr,同样arr[0]也是地址,arr[0][0]也是地址,用指针声明一个二维数组

int (*p)[num];   //指向包含num个int值的数组

不能像下面这样声明

int  *p[num];//这个意思是p指向num个指向int指针组成的数组,也就是把数组声明为int*型,也就是指针,数组形式的参数是int [][num];第一个[]为空表示的是指针,但是后一个[]不能为空

最后讲一下const,能把非const类型付给const,但是不能把const类型付给非const类型

相关文章

  • C语言指针相关

    一、指针数组 和 数组指针的区别:1:指针数组,还是数组,数组每个元素是指针。2:数组指针,是指针,指向的是数组。...

  • JNI基础 -- C++基础知识(指针数组)

    数组和指针,数组指针,指针数组 数组 声明一个数组 这个比较简单,不做过多介绍 数组指针 数组指针是一个指针,指向...

  • 数组指针和指针数组

    1.数组名 数组首元素的地址和数组地址是两个不同的概念 数组名代表数组首元素的地址,它是个常量. 变量本质是内存空...

  • 数组指针和指针数组

    1.数组指针(又称行指针) 二维数组赋给一指针时: 2.指针数组 二维数组赋给一指针数组: 小结:数组指针只是个指...

  • 数组指针和指针数组

    指针*p不仅仅是地址(数据访问的位置),还包括所指向类型,即p+1移动的步长(如何访问)。数组指针,char (*...

  • 数组指针和指针数组

    输出结果:Example 数组指针:我我是是大大好人好人Example 指针数组: 我是大好人

  • 数组指针和指针数组

    https://www.cnblogs.com/mq0036/p/3382732.html 一维数组名和二维数组名...

  • 关于二维数组及数组指针和指针数组的深度思考(涉及指针)

    转载请注明在纠结指针数组和数组指针时无意发现的小细节。总算搞清数组指针和指针数组。 数组指针定义 int (*p)...

  • 指针

    指针 数组指针和指针数组 函数指针和指针函数 指针作为参数 指针多用于处理值传递,减少值复制耗费的内存

  • C语言特性(指针数组和指向指针变量的指针)

    指针数组和指向指针变量的指针 指针数组与main()函数形参 声明指针数组与声明普通数组的语法类似,其语法格式如下...

网友评论

      本文标题:数组和指针

      本文链接:https://www.haomeiwen.com/subject/edwbwxtx.html