数组:
-
数组形式 char s[5]; 属于一种构造的数据类型
-
数组定义:是有一定顺序关系的,数据类型相同的数据元素的集合
-
数组中各元素的数据类型要求相同,用数组名和下标确定。数组可以是一维的,也可以是多维的。
-
一维数组:只有一个下标的数组,在计算机内是连续存储的
-
内存字节:数组元素个数*sizeof(数据类型)
-
数组名是数组首地址,是地址常量;sizeof(数组名)数组占总内存空间
-
-
数组元素是连续的,看到了数组的起始地址,且地址是由低往高分配的
-
-
-
,这边一共有七个地址,最后一个地址和第一个地址一样的,都是数组名
-
占的字节总长度是24
-
-
数组的首地址是a,a=a+1这样是不对的,数组的首地址不能动,动了整个数组就找不到了,因此程序会报错。
-
%p是打印地址
-
一维数组必须先定义,再使用
-
打印数组地址的时候就是要加&这个符号&a[i],printf("%p\n",&a[i]);
-
如果是引用数组元素的时候,不需要加&符号,printf("%d\t",a[j]);
-
一维数组只能逐个引用数组元素,不能一次性引用整个数组,像下面这个例子
-
-
-
一维数组的初始化
![](https://i-blog.csdnimg.cn/blog_migrate/b444467c40bf47e547cea5b1d997055f.png)
只给部分数组元素赋初值,剩下没赋初值的都赋0
-
一维数组的初始化 int a[3]={6,2,3,5,1} × 初始化的数值个数超过了定义的维数,直接报错
![](https://i-blog.csdnimg.cn/blog_migrate/cb63095b03bb7c8499e563e599ce038a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3698268f77a5643b085752f1d5b8053d.jpeg)
//冒泡排序的代码
#include <stdio.h>
int main(int argc,char *argv[])
{
int a[]={3,4,17,8,31,2,9,15},n,i,j;
int t;
n=sizeof(a)/sizeof(int);//n是数组中元素个数
for(i=0;i<n-1;i++){
for(j=0;j<n-1;j++){
if(a[j]>a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i<n;i++)
printf("%d",a[i]);
puts("");
}
-
二维数组(一)
-
声明时列数不能省,行数可以
-
二维数组以行序优先存储
![](https://i-blog.csdnimg.cn/blog_migrate/d86556db23df2c20e7491cb2b9fa521a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/31ddfae3745367e420ff64604c086047.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/25c1caca9b4862c714aa909250ad2c45.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/cbc18e91a49648f4d34d949a1c189ce0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c76da9088c55a023f4bdf07fc72b2d54.jpeg)
-
杨辉三角形(特征:下三角,每一个数由这个数字上面一行的这个位置的数+上一行前一个数的和)
![](https://i-blog.csdnimg.cn/blog_migrate/b5987a9016a574e5e71d3611093f38d8.png)
打印的逻辑 1.先打印一个正方形 2.只打印下三角 3.调整值
先打印下三角
![](https://i-blog.csdnimg.cn/blog_migrate/95b7daf4d77f796caa69a8ef46d46ca2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/34e561b49879b8177e28a158528b02d4.png)
打印杨辉三角形代码 逻辑 先赋值再打印
如何赋值?
1.每一个数由这个数字上面一行的这个位置的数+上一行前一个数的和
-
第一列都是1
![](https://i-blog.csdnimg.cn/blog_migrate/a75ac36bc77cbe6783c05601e5775cd0.png)
运行效果图如上
![](https://i-blog.csdnimg.cn/blog_migrate/c03e723d27944abf1abc9ce25afd40e3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9d7e252cce3892a71fe127fc4c86e73a.png)