博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c语言的数组总结
阅读量:5047 次
发布时间:2019-06-12

本文共 904 字,大约阅读时间需要 3 分钟。

要注意的是:

1 &a[i] 是取a[i]的地址  如果只有数组名 那就代表该数组的首个元素的地址。

   数组相邻两个元素地址相差的大小 和你数组的数据类型相关,例如char的相差是1.

  int类型相差是4,double类型的时8。

 

2数组名做加减法是, 计算结果是 加减数*元素长度+首地址。

 

3:数组中的元素地址从低到高存放的。 

 

4:在使用数组名作为参数时是调用地址值,并且必须声明元素个数。

用数组的进行的冒泡 并有详细注释

 

#include<stdio.h>

 

void function(int *a_math ,int z)//也可以写成void function(int  a_math ,int z)

 

{

 

int i,j,k,t,f=1;

 

   for (int i = 0; (i <z-1)&&f; ++i)//执行 元素个数-1次循环

 

   {   

 

     //f的意义:当本身就是按顺序排列时不执行循环,是程序高效化。

 

        f=0;

 

      for (int j = 0;j<z-i-1; j++) //执行冒泡

 

       if (a_math[j]>=a_math[j+1])

 

       {

 

          t=a_math[j],a_math[j]=a_math[j+1],

 

          a_math[j+1]=t;f=1;

 

       }

 

      for(int i=0;i<9;i++)

 

       {

 

       printf(" %d ",a_math[i]);//显示每冒一次泡后的结果

 

       }

 

    printf("\n");

 

   }

 

}

 

int main(void)

 

{

 

   int a_math[9]={93,46,78,99,88,69,54,56,77};//声明并初始化一个数组。

 

   function(a_math ,9); /数字作为参数时,传递的时地址值。而且必须说明其数组个数。

 

   for(int i=0;i<9;i++)

 

   {      

 

     //   数组名做加减法时 输出的结果=数组的首地址+元素长度*i. 

 

      printf("%p----%p\n",(a_math+i),&a_math[i]);

 

   }

 

     return 0;

 

}

 

 

转载于:https://www.cnblogs.com/lucan727/p/3852207.html

你可能感兴趣的文章
一个自己写的判断2个相同对象的属性值差异的工具类
查看>>
oracle连接的三个配置文件(转)
查看>>
Java 8 中如何优雅的处理集合
查看>>
Centos下源码安装git
查看>>
控件发布:div2dropdownlist(div模拟dropdownlist控件)
查看>>
[置顶] 细说Cookies
查看>>
[wp7软件]wp7~~新闻资讯,阅读软件下载大全! 集合贴~~~
查看>>
二叉树的遍历问题总结
查看>>
新浪分享API应用的开发
查看>>
爬取:中国大学排名
查看>>
聊天室(C++客户端+Pyhton服务器)_1.框架搭设
查看>>
mybatis中&gt;=和&lt;=的实现方式
查看>>
Python面向对象03/继承
查看>>
java序列化和反序列化
查看>>
绝对定位
查看>>
flink源码编译(windows环境)
查看>>
dpkg 删除 百度网盘 程序
查看>>
服务器nginx安装
查看>>
std::nothrow
查看>>
rest-framework 分页器
查看>>