数组的初始化

//

//  main.c

//  数组的初始化

//

//  Created by micalafei on 15/8/18.

//  Copyright (c) 2015年 micalafei. All rights reserved.

//

#include <stdio.h>

int main(int argc, const char * argv[]) {

//    需要保存100个学生的成绩

//    格式:元素类型 数组名称[元素个数];

//    数组初始化的方式:基本上跟函数,变量等差不多;

//    1.先定义在初始化

/*

int score[100];

score[0] = 99;

score[1] = 98;

score[2] = 97;

score[3] = 96;

score[4] = 95;

//    ....

printf("score[0] = %i\n",score[0]);

printf("score[1] = %i\n",score[1]);

printf("score[2] = %i\n",score[2]);

*/

//    2.完全初始化

int score[2] = {12,13};

printf("score[0] = %i\n",score[0]);

printf("score[1] = %i\n",score[1]);

//    3.部分初始化

//    默认从0开始初始化, 依次赋值

//    注意: 如果"在部分初始化中"对应的内存没有被初始化, 那么默认是0

int scores1[3] = {11, 22};

printf("scores1[0] = %i\n", scores1[0]);

printf("scores1[1] = %i\n", scores1[1]);

printf("scores1[2] = %i\n", scores1[2]);

printf("-------\n");

//    注意: 如果没有对数组进行初始化(完全和部分), 那么不要随便使用数组中的数据, 可能是一段垃圾数据(随机值)

int scores2[3];

printf("scores2[0] = %i\n", scores2[0]);

printf("scores2[1] = %i\n", scores2[1]);

printf("scores2[2] = %i\n", scores2[2]);

printf("-------\n");

//注意: 不建议使用变量定义数组, 如果使用了变量定义数组, 作为数组的元素个数, 不初始化的情况下是随机值, 如果初始化会直接报错

//    int number = 3;

//    int scores3[number] = {12,13};        //直接报错了;

//    printf("-------\n");

//报错信息:

///Users/micalafei/Desktop/ios广州小码哥150810班级学习/0818(day07)/day07/数组的初始化/main.c:56:17: Variable-sized object may not be initialized

//  4.没有定义元素个数的初始化:

// 注意: 如果定义的同时进行初始化, 那么元素的个数可以省略

// 省略之后, 初始化赋值几个数据, 那么数组的长度就是几. 也就是说数组将来就能存储几个数据

int scores5[] = {1, 3};

printf("0 = %i\n", scores5[0]);

printf("1 = %i\n", scores5[1]);

printf("-------\n");

//    注意; 如果定义数组时没有进行初始化, 那么不能省略元素个数

//    int scores6[];

//报错信息:

///Users/micalafei/Desktop/ios广州小码哥150810班级学习/0818(day07)/day07/数组的初始化/main.c:70:9: Definition of variable with array type needs an explicit size or an initializer

//    5.建立索引

int scores7[10] = {[3] = 10,[5] = 15};

printf("scores7[3] = %i\n",scores7[3]);

printf("scores7[5] = %i\n",scores7[5]);

//    注意: 只能在定义的同时利用{}进行初始化, 如果是先定义那么就不能使用{}进行初始化

//    如果先定义那么就不能再进行整体赋值, 只能单个赋值

return 0;

}

时间: 2024-10-14 05:11:46

数组的初始化的相关文章

*三维数组的初始化及遍历三个for循环

package com.chongrui.test; /* *三维数组的初始化及遍历 * */ public class test { public static void main(String[] args) { int a[][][]=new int[][][]{ {{1,2,3},{4,5,6}}, {{8,9,10},{11,12,13}}, {{14,15,16},{17,18,19,20}}, }; for(int i=0;i<a.length;i++){ System.out.p

*二维数组的初始化

package com.chongrui.test; /* *二维数组的初始化 * */ public class test { public static void main(String[] args) { int a[][]=new int[3][4]; System.out.println("输出3行4列的数组"); for(int i=0;i<a.length;i++){ for(int j=0;j<a[i].length;j++){//遍历数组当中的每个元素,

二维数组的初始化,遍历

1 package com.baidu.java; 2 //2维数组的初始化 3 public class Array2 { 4 public static void main(String[] args) { 5 //1.静态初始化 6 int[][] aa=new int[][]{{3,4,5},{6,7,8,9},{1,2}}; 7 //2.1动态初始化 8 String[][] bb=new String[6][5];//想成6个小组,每个小组5个人 9 //2.2动态初始化 10 St

数组的初始化方法

//数组的初始化方法 # include<stdio.h> # include<stdlib.h> int main() { int a[3][4]; int num = 0; //方法一: /* for (int i = 0; i < 3 * 4; i++) { a[i / 4][i % 4] = num; num++; } */ //方法二: /* printf("start...\n"); for (int *p = &a[0][0]; p

c语言字符数组的初始化问题

1.字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'}; 即把10个字符分别赋给str[0]到str[9]10个元素 如果花括号中提供的字符个数大于数组长度,则按语法错误处理: 若小于数组 长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即 '\0' ). 2.字符数组与字符串 在c 语言中,将字符串作为字符数组来处理.(c++中

java二维数组的初始化及使用其长度

二维数组的初始化 1.静态初始化 int intArray[ ][ ]={{1,2},{2,3},{3,4,5}}; Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同. 2.动态初始化 1) 直接为每一维分配空间,格式如下: arrayName = new type[arrayLength1][arrayLength2]; int a[ ][ ] = new int[2][3]: 2) 从最高维开始,分别为每一维分配空间: arrayNa

C/C++ 数组的初始化

C/C++数组的初始化因为方法太多,而且规则也比较混乱,所以在使用的时候经常出现数组初始化就不对的问题,这里把关于数组的初始化存在需要谨慎的问题进行一个简单的总结,有遗漏的望同学们一起指出补充. 一维数组 静态分配 1. int a[3] = {0, 1, 2}; // 正确 int a[3]={0,1,2,3}; //错误,初始化值个数大于数组大小 int a[3]={0,,2}; //错误,初始化值被跳过 int a[3]={0,1,}; //错误,初始化值被跳过(即使是最后一个元素,添加逗

数组的初始化和二维数组、指针与数组

1.数组的初始化,比较简单,实例程如下: #include<stdio.h> # define M 12 int main(void){ int days[M]={31,28,31,30,31,30,31,30,30,31,30,31}; int i; for(i=0;i<M;i++) printf("Months %d has %2d days.\n",i+1,days[i]); return 0; } 运行结果如下: 2.未经初始化的数组: 实例程序: #incl

&lt;27&gt;【理解】02-结构体数组概念及定义+【掌握】03-结构数组的初始化和遍历

[理解]02-结构体数组概念及定义 结构体数组: 用来存放大量的结构体相同的结构体变量 结构体数组定义: 结构体数组定义的第一种方式: 1)定义结构体的同时,定义数组 struct Student{ int age; char *name; int s_no; float score; }stu[5]; 结构体数组定义的第二种方式 2)先定义结构体,后定义数组 struct Student boy[5]; #include <stdio.h> int main(int argc, const