《黑马程序验》数组与函数(C语言)

一、数组的概念

1.一维数组的定义与使用

int array[10];//定义一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型的

array[0] = 20;
array[1] = 30;
array[9] = 80;

错误写法:

//array[10] = 100;//没有 array[10]这个元素

数组在内存中就是一段连续的空间,每个元素的类型是一样的

2.一维数组初始化

int array[10] = { 100, 1, 5, 3, 4, 5, 6, 7, 8, 0 };//定义数组的同时为数组的成员初始化值
int array[10] = { 3, 7, 9 };//将数组的前三个元素赋值,其余元素置为0
int array[10] = { 0 };//将数组所有的元素都置为0

//通过循环遍历数组的每个元素,将元素的值置为0
int i;
for (i = 0; i < 10; i++)
{
	array[i] = 0;//通过循环遍历数组的每个元素,将元素的值置为0
}

二、数组内部存储结构

int main()
{
       char array[5] = {‘a‘,‘A‘,‘b‘,‘B‘,‘c‘};
       for(int i = 0;i <5;i++)
       {
         printf("array[%d] = %c\n",i,array[i]);
       }
      return 0;
}

1.内存的分配是从高地址到低地址进行的,但一个数组内部元素又是从低到高进行的

2.数组名代表了数组的存储地址

3.数组元素的地址为其存储空间的首字节

三、数组和函数

#include <stdio.h>void change(int array[]){  array[0] = 20;}void change2(int n){  n = 20;}int main(){     int i; int ages[] ={10,84,97,96,85}; change(ages); printf("ages[0] = %d\n",ages[0]); change2(ages[1]); printf("ages[1] = %d\n",ages[1]);    return 0;}

1.数组作为函数参数,如果传递的是数组的地址,那么修改函数形参数组元素的

2.64 bit 编译环境下指针占8个字节

3.如果形参内是基本数据类型则是值传递,不改变数组元素的值

数组实例:

时间: 2024-12-26 08:45:54

《黑马程序验》数组与函数(C语言)的相关文章

【黑马程序员】————scanf函数

变量的内存分析 1.内存寻址由大到小,优先分配内存地址比较大的字节给变量 2.变量越先定义,内存地址就越大 3.取得变量的地址:&变量名 4.输出地址:%p 5.一个变量一定先进行初始化,才能使用 查看内存地址: int a;printf("a的地址是:%p\n", &a); scanf函数 1.      简介 这也是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>.调用scanf函数时,需要传入变量的地址作为参数,

黑马程序员_Java环境搭建及语言基础

- - - - android培训.java培训.期待与您交流!- - - - - - JRE和JDK JRE:Java Runtime Environment,java运行环境. JDK:Java Development Kit,java开发工具包. 使用JDK开发java程序,交给JRE运行. JDK下载和安装 http://www.oracle.com/technetwork/java/javase/downloads/index.html JDK的目录结构 目录/文件名 功能说明   b

黑马程序员--数组与字符串

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 数组 用来存储一组数据 特点:只能存储一种类型的数据 格式: 格式类型数组名 [元素个数]; int a[10];  //定义一个整形的数组a 里面包含10个元素,下标从0开始,即a[0],a[1]…a[9] 10个数据 数组必须先定义然后才能使用/ 数组的初始化 可以再定义数组时进行赋值 例 a[5]={0,1,2,3,4};   定义的初值一次放在一对花括号内,经过上面的定义和初始化后 a

黑马程序员----数组的基本使用和注意点

数组(构造类型) 作用:用来存数一组数据 格式:类型  数组名[元素个数];   如:int ages[5]; 一.数组的定义及注意点 正确写法: 1.int ages[3] = {10, 18, 24}; 2.int ages[3] = {10, 20};  // 此时,ages[2]默认为0: 3.int ages[3] = {[1] = 10, [2] = 20}; // 值对后面的两个值进行赋值 4.int ages[] = {10, 13, 23}; // ages占用的字节数为12字

黑马程序员————数组工具类对象建立

今天学习了数组工具类对象的建立巩固掌握以前学习的语句,函数,数组等相关知识 /** 建立一个用于操作数组的工具类,其中包括者常见的对数组操作的函数,如:最值,排序等 @author lostnotes */ public class ArraryTool { private ArrayTool () {}//该类中的方法都是静态的,所以不需要创建对象. //为了保证其他成员不创建该类对象,可以构造函数私有化. } /** 获取整数类型数组的最大值 @param arr 接收一个元素为int类型的

黑马程序员——数组

一.概念         同一种类型数据的集合.简单的来说就是一容器,用来装东西的. 使用数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 二.一维数组的格式 格式1:元素类型 [ ]数组名 = new 元素类型 [元素个数或数组长度] ; 如: int []  arr = new int [3];  也可以写成: int arr[] = new int[3]; 格式2:元素类型 []数组名 = new 元素类型 [ ]{元素1,元素2,…}; 如: int []  arr =

《黑马程序员》 字符串 (C语言)

字符串的基本使用 定义方法: char name[10] ="jack";   此时字符串中共包含‘j’,’a‘,'c','k','\0' 中括号中的10代表该字符串最多存放10个字符 字符串的输出 1.printf("jack"); 2.printf(name);              //把数组传入printf语句输出会出现警告 这两种方法输出结果相同,但printf语句默认情况下只认字符串常量,所以第二种方法在编译时会出现警告. 字符串的存储细节: 数组n

黑马程序员——java基础--函数

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一:函数 1.函数定义 2.函数格式 3.函数作用 a.什么叫做函数呢? 就是一段具有特殊作用的代码段. b.函数的格式 修饰符 返回类型 函数名(变量列表)  //变量列表包括变量类型和变量个数 { 代码 return ; } c.为什么要使用函数? 提高程序的复用性,提高效率,正所谓有需求才会出现. d.函数适合哪些场合使用? 当一个功能要重复使用的时候,函数就显得格外有效率. e.如何定

黑马程序员-利用swap函数研究C的指针

设计3个函数,分别实现已下功能: 交换两个整数 交换两个整形指针 交换任意两个同类型的变量 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 void swap_int(int* pa, int* qa) //交换两个整数 5 { 6 int temp = *pa; 7 *pa = *qa; 8 *qa = temp; 9 } 10 11 12 void swap_intpur(int*