数组的定义:

一、正确写法:

1.int ages[5]--定义了一个5个长度的int类型的数组

2.int ages[]={1,2,3,4,5};--定义了一个5个长度的int类型的数组,并且初始化数组的值

3.int ages[5]={10};--定义了一个5个长度的int类型的数组,并且给ages[0]=10;

二、错误写法:

1.int a[];    2.int[5] a--C#,java语言中定义数组的方法,一定要与C语言区分开!

2.int a[] = {10,12,13};  a={11,15,16};--数组的名字代表了数组在内存中的地址,可以认为是常量

三、数组与函数,牵扯到了指针,以后详细说明

 #include <stdio.h>
void change(int);
void change2(int []); int main()
{
int ages[] = {, , , , }; //printf("数组占用的字节数:%ld\n", sizeof(ages)); //change(ages[1]); change2(ages); printf("ages[1]=%d\n", ages[]); return ;
} // 当数组作为函数形参时,数组元素个数可以省略
// 当数组作为函数形参时,传递是数组的地址,array和ages共用一块存储空间
// 在函数内部计算形参数组所占字节数时,永远是8(64bit)
// 因为系统会讲形参数组转为指针类型,指针类型永远只占8个字节
void change2(int array[])
{
printf("数组占用的字节数:%ld\n", sizeof(array)); array[] = ;
} // 基本数据类型作为函数形参时,只是值传递
// 修改函数内部的形参,并不会影响外面的实参
void change(int a)
{
a = ;
}

C基础--C语言的数组的更多相关文章

  1. 数据结构基础(1)--数组C语言实现--动态内存分配

    数据结构基础(1)--数组C语言实现--动态内存分配 基本思想:数组是最常用的数据结构,在内存中连续存储,可以静态初始化(int a[2]={1,2}),可以动态初始化 malloc(). 难点就是数 ...

  2. Go语言之数组与切片基础

    一.数组 数组是同一类型元素的集合,可以放多个值,但是类型一致,内存中连续存储 Go 语言中不允许混合不同类型的元素,而且数组的大小,在定义阶段就确定了,不能更改 1.数组的定义 // 定义一个大小为 ...

  3. C语言中数组与指针的异同之处!你不知道的编程奥秘~

    C语言的数组和指针一直是两个容易混淆的东西,当初在学习的时候,也许为了通过考试会对指针和数组的一些考点进行突击,但是很多极其细节的东西也许并不是那么清楚.本篇侧重点在于分析数组与指针的关系,什么时候数 ...

  4. 【算法】C语言实现数组的动态分配

    C语言实现数组的动态分配 作者:白宁超 2016年10月27日20:13:13 摘要:数据结构和算法对于编程的意义不言而喻,具有指导意义的.无论从事算法优化方向研究,还是大数据处理,亦或者网站开发AP ...

  5. C语言一维数组、二维数组、结构体的初始化

    C语言数组的初始化表示方法 一.C语言一维数组初始化: (1)在定义数组时对数组元素赋以初值.如: static int a[10]={0,1,2,3,4,5,6,7,8,9}; 经过上面的定义和初始 ...

  6. go语言的 数组、slice、map使用(转)

    golang群 点击加入 go语言的 数组.slice.map使用, 由于网上有很好的说明, 不需要再写了,请看这几篇: Go语言中的 Array, Slice和 Map 深入学习golang五篇,以 ...

  7. go语言 类型:数组

    在go语言中数组array是一组特定长度的有序的元素集合. go的数组类型由两部分组成——类型和长度,二者缺一不可.数组本来就是一块存储相同类型元素的连续内存空间,因此决定一个数组的类型,必然需要决定 ...

  8. 学习C语言的数组

    C语言的数组 数组声明的实例:int num[3];只要记下这个模板就好. 不建议使用变量定义数组,如果使用了变量定义数组,作为数组的元素的个数,不初始化的情况下是随机值,如果初始化会直接报错 注意: ...

  9. 对于C语言中数组名是指针的理解

    我们都知道,c语言中数组名是一个指针,比如下面这段代码 #include<iostream>using namespace std;int main(){ int a[4]={1,2,3, ...

随机推荐

  1. leetcode_438_Find All Anagrams in a String_哈希表_java实现

    题目: Given a string s and a non-empty string p, find all the start indices of p's anagrams in s. Stri ...

  2. 【MVC 4】2.使用 Razor

    作者:[美]Adam Freeman      来源:<精通ASP.NET MVC 4> Razor 是微软 MVC3 引入的视图引擎的名称,并在MVC 4 中进行了修订.视图引擎处理 A ...

  3. python中range函数和xrange函数有什么异同?

    http://ciniao.me/article.php?id=17 简单来说,range生成的是一个列表,而xrange生成的是一个生成器,而生成器在数组很大的时候能够比range更节省空间

  4. 【转】Python 列表排序

    很多时候,我们需要对List进行排序,Python提供了两个方法 对给定的List L进行排序, 方法1.用List的成员函数sort进行排序 方法2.用built-in函数sorted进行排序(从2 ...

  5. POJ 1847 Tram --set实现最短路SPFA

    题意很好懂,但是不好下手.这里可以把每个点编个号(1-25),看做一个点,然后能够到达即为其两个点的编号之间有边,形成一幅图,然后求最短路的问题.并且pre数组记录前驱节点,print_path()方 ...

  6. dalvik

    Google公司自己设计用于Android平台的Java虚拟机

  7. 获取本机的IP地址(局域网)与主机名称

    编写内容保存为bat @echo off &setlocal enabledelayedexpansion Rem '/*========获取本机的IP地址(局域网)=========*/ e ...

  8. Java Executor并发框架(二)剖析ThreadPoolExecutor运行过程

    上一篇从整体上介绍了Executor接口,从上一篇我们知道了Executor框架的最顶层实现是ThreadPoolExecutor类,Executors工厂类中提供的newScheduledThrea ...

  9. docker中清理冗余的image,container

    1) 首先进入超级用户模式 [root@docker ~]# sudo su2) 删除container ( container运行时是不能删除的 )首先停止container [root@docke ...

  10. 谈谈redis主从复制的重点

    Redis主从复制的配置十分简单,它可以使从服务器是主服务器的完全拷贝.下面是关于Redis主从复制的几点重要内容: Redis使用异步复制.但从Redis 2.8开始,从服务器会周期性的应答从复制流 ...