精华内容
下载资源
问答
  • 定义了一个数组“int a[5]={1,2,3,4,5};”,又定义了一个数组“int b[5];”,那么如何编写程序才能将数组 a 中的数据赋给数组 b? 经常有人会这样写: b = a; 这样写是错误的。前面说过,a b 是数组名,而数组...

    转自:http://c.biancheng.net/view/185.html

    若定义了一个数组“int a[5]={1,2,3,4,5};”,又定义了一个数组“int b[5];”,那么如何编写程序才能将数组 a 中的数据赋给数组 b?

    经常有人会这样写:

    b = a;
    

    这样写是错误的。前面说过,a 和 b 是数组名,而数组名表示的是数组“第一个元素”的“起始地址”。即 a 和 b 表示的是地址,是一个常数,不能将一个常数赋给另一个常数。这种错误就类似于将 3 赋给 2,所以是错误的(关于地址现在先不讨论,等后面讲指针的时候再说)。

    正确的写法是用 for 循环,将数组 a 中的元素一个一个赋给数组b的元素:

    #include <stdio.h>
    int main(void)
    {
        int a[5] = {1, 2, 3, 4, 5};
        int b[5];
        int i;
        for (i=0; i<5; ++i)
        {
            b[i] = a[i];
            printf("%d\n", b[i]);
        }
        return 0;
    }
    
    输出结果是:
    1
    2
    3
    4
    5
    
    展开全文
  • C语言数组赋值方法数组赋值的方法分为:1.赋值语句--对数组元素逐个赋值例:#include int main(){int i,a[10];for(i = 0;i <=9;i++){a[i]=i; /*赋值语句*/}for(i = 9;i >=0;i--){printf("%d",a[i]);}return 0...

    C语言数组赋值方法

    数组赋值的方法分为:

    1.赋值语句--对数组元素逐个赋值

    例:

    #include

    int main(){

    int i,a[10];

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

    a[i]=i;                                /*赋值语句*/

    }

    for(i = 9;i >=0;i--){

    printf("%d",a[i]);

    }

    return 0;

    }

    2.初始化赋值

    例:

    #include

    int main(){

    int i,a[10]={0,1,2,3,4,5,6,7,8,9};               /*初始化赋值*/

    for(i=9;i >=0;i--){

    printf("%d",a[i]);

    }

    return 0;

    }

    3.动态赋值

    例:

    #include

    int main(){

    int i,max,a[10];

    printf("input 10 numbers:\n");

    for(i = 0;i < 10;i++){

    scanf("%d",&a[i]);      /*动态赋值*/

    }

    max=a[0];

    for(i = 0;i < 10;i++){

    if(a[i]>max){

    max=a[i];

    }

    printf("maxmum=%d\n",max);

    }

    return 0;

    }

    展开全文
  • 一维数组定义方式如下:类型说明符 数组名[常量表达式];例如:int a[5];它表示定义了一个整型数组数组名为 a,定义数组称为数组 a。此时数组 a 中有 5 个元素,每个元素都是 int 型变量,而且它们在内存中的...

    4c0f4e3a055bd1f3e18e67494de9dcb4.png

    一维数组的定义方式如下:类型说明符 数组名[常量表达式];

    例如:int a[5];

    它表示定义了一个整型数组,数组名为 a,定义的数组称为数组 a。

    此时数组 a 中有 5 个元素,每个元素都是 int 型变量,而且它们在内存中的地址是连续分配的。也就是说,int 型变量占 4 字节的内存空间,那么 5 个int型变量就占 20 字节的内存空间,而且它们的地址是连续分配的。

    一维数组初始化

    一维数组的初始化可以使用以下方法实现:

    1、定义数组时给所有元素赋初值,这叫“完全初始化”。

    例如:int a[5] = {1, 2, 3, 4, 5};

    通过将数组元素的初值依次放在一对花括号中,如此初始化之后,a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5,即从左到右依次赋给每个元素。需要注意的是,初始化时各元素间是用逗号隔开的,不是用分号。

    2、可以只给一部分元素赋值,这叫“不完全初始化”。

    例如:int a[5] = {1, 2};

    定义的数组 a 有 5 个元素,但花括号内只提供两个初值,这表示只给前面两个元素 a[0]、a[1] 初始化,而后面三个元素都没有被初始化。不完全初始化时,没有被初始化的元素自动为 0。

    推荐教程:c语言教程

    展开全文
  • c语言数组定义(详细)

    千次阅读 2019-12-04 20:16:25
    数组定义后,默认值同样不确定,因此也需要初始化。 int arr[5] <==> int num1,num2,num3,num4,num5; 使用:数组名[编号] 编号 (下标) 从0开始,范围[0,数量-1] 遍历:配合for循环从头到尾显示,循环变量i就...

    数组:
    什么是数组:变量的组合,是一种定义变量的手段。
    定义:类型 数组名[数量];
    数组定义后,默认值同样不确定,因此也需要初始化。
    int arr[5] <==> int num1,num2,num3,num4,num5;
    使用:数组名[编号]
    编号 (下标) 从0开始,范围[0,数量-1]
    遍历:配合for循环从头到尾显示,循环变量i就当做数组的下标。
    int arr[5];
    for(int i=0;i<5;i++)
    {
    printf("%d ",arr[i]);
    }
    初始化:int arr[5] = {1,2,3,4,5};
    1、如果初始化数据不足补零。
    2、如果初始化数据过多会丢弃,但是会产生警告
    3、如果有初始化数据,可以省略数组的长度,因为编译器会统计数组的个数,然后告诉数组
    4、只能给元素逐个赋值,不能给数组整体赋值。
    sizeof(arr):计算出数组的总字节数
    sizeof(arr[0]):计算出数组的第一个元素的字节数
    计算数组的长度:sizeof(arr)/sizeof(arr[0]);
    二维数组:
    一维数组可以看作把变量排成一排,二维数组相当于把变量排成一个方阵。
    也可以认为二维数组是由多个长度相等的一维数组构成。
    定义:类型 数组名[行数][列数];
    int arr[3][5];
    [][][][][]
    [][][][][]
    [][][][][]
    使用:数组[行号][列号];
    行号和列号都是从0开始,范围[0,数量-1];
    arr[0][0] arr[0][1] arr[0][2] arr[0][3] arr[0][4]
    arr[1][0] arr[1][1] arr[1][2] arr[1][3] arr[1][4]
    arr[2][0] arr[2][1] arr[2][2] arr[2][3] arr[2][4]
    遍历:双层for循环,外层循环负责行号,内层循环负责列号
    初始化:
    1、分段赋值
    int arr[3][5]={{1,2,3,4,5},{11,12,13,14,15},{21,22,23,24,25}};
    2、连续赋值
    int arr[3][5]={1,2,3,4,5,11,12,13,14,15,21,22,23,24,25};
    3、未赋值的元素自动补零
    4、初始化时,行数可以省略,但是列数不可以。
    int arr[][5]={{1,2,3,4,5},{11,12,13,14,15},{21,22,23,24,25}};
    变长数组:
    什么是变长数组:指的是数组在编译期间长度还不确定,在运行期间可以发生变化,当执行到数组定义语句的时候,数组的长度就确定下来(一旦确定,不能改变)
    优点:可以根据程序运行期间的实际需要,灵活设置数组的长度,达到节省内存的目的。
    缺点:不能初始化(因为数组的初始化是在编译的帮助下完成,但是变长数组的长度在编译期间还不确定,因此不能初始化)

    数组的越界:
    在C语言中使用数组时,是不对下标进行检查的(检查会浪费大量的时间,降低效率),数组下标的正确完全靠程序员自觉。
    数组越界的后果:
    1、一切正常
    2、段错误
    3、脏数据

    展开全文
  • c语言二维数组赋值: 例1: inta[5][3]={{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}}; 例2: #include intmain(){ inti,j;//二维数组下标 intsum=0;//当前科目的总成绩 intaverage;//总平均分 intv...
  • c语言数组赋值

    万次阅读 2018-02-20 13:51:33
    一、数组定义原则: 长度是常量,赋值用大括号括起来。 例: int data[5] = {5, 2, 4, 0, 3}; 如果用变量: int n=5; int a[n] = { 1,2,3,4,5 }; gcc报错: error: variable-sized object may not be ...
  • C语言数组数组赋值的三种形式)

    万次阅读 多人点赞 2018-07-18 22:20:34
    C语言中,对数组进行赋值的三种形式 1、通过循环的形式 即:数组名[下标] 对数组的元素进行依次赋值   #include &lt;stdio.h&gt; int main() { int i; int a[10] = {0}; for(i=0;i&lt;10;i...
  • 关于C语言数组赋值方法

    千次阅读 2019-10-04 07:26:13
    C语言数组赋值方法 数组赋值的方法分为: 1.赋值语句--对数组元素逐个赋值 例: #include <stdio.h> int main(){  int i,a[10];  for(i = 0;i <=9;i++){  a[i]=i; /*赋值语句*/  }  for(i....
  • C语言数组考点归纳下面是百分网小编为大家收集的C语言数组考点归纳,欢迎借鉴学习!9.1 一维数组的定义、初始化引用1.一维数组的定义方式为:类型说明符 数组名[常量表达式](1)数组名的命名方法与变量名相同,遵循...
  • 一、建立二维数组赋值 ... //定义一个六行六列的二维数组 for(i=1;i<6;i++) for(j=1;j<6;j++) a[i][j] = (i/j)*(j/i); //对除第一行以及第一列的所有元素赋值,i/j保留整数值 for(i=1;i<6;i++) {
  • 全国计算机级考试实用应试教程二级C语言数组第9章 数组 本章要点 9.1 一维数组的定义和一维数组元素的引用 9.2 一维数组指针 9.3 函数之间对一维数组和数组元素的引用 9.4 一维数组应用举例 9.5 二维数组的定义和...
  • 对于字符数组只能对各个元素赋值,不能用以下办法对字符数组赋值:char str[14];str = "I love you!";而对于字符指针变量,可采用如下赋值:char *a;a = "I love you!";赋值给a的是字符串第一个元素...
  • 一般情况下,对结构体类型的变量或者结构体类型的数组赋值都是先定义一个结构体类型的变量,然后在对其属性进行赋值。例如: typedef struct Pi { int x; int y; } Pc; int main() { int i; Pc pc[2]; pc[0...
  • C语言数组

    2020-11-09 23:32:37
    C语言数组 一、一维数组 数组定义:是一组具有相同类型的变量的集合。 定义格式: 数组类型 数组名[元素个数]; 数组赋值: a. #include <stdio.h> void main() { int a[4] = { 6,7,8,9 }; } C语言通过...
  • C语言数组——字符数组

    千次阅读 多人点赞 2020-02-17 20:59:51
    C语言目录 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤编程机制 C语言基础-第一个C程序 C语言基础-简单程序分析 ...C语言数组——二维数...
  • 大一c语言数组实验心得 C语言...下面是小编带来的有关大一c语言数组实验心得希望大家喜欢 #大一c语言数组实验心得1# 试验目的 1 掌握一维数组和二维数组的定义赋值和输入输出的方法; 2 掌握字符数组和字符串函数的使用;
  • 数组的定义,初始化使用,C语言数组详解 一维数组初始化 一维数组的初始化可以使用以下方法实现: 1) 定义数组时给所有元素赋初值,这叫“完全初始化”。例如: int a[5] = {1, 2, 3, 4, 5}; 通过将数组元素的...
  • C语言数组赋值的问题

    2011-10-28 17:03:56
    C语言中,对于数组赋值,一般有以下几种方式: inta[3][2]={0,1,2,3,4,5};intb[3][2]={{0,1},{2,3},{4,5}};intc[3][2]={(0,1),(2,3),(4,5)}; 其中数组a和数组b的赋值方式很容易理解,但对于数组c的赋值方式,...
  • 说到C语言结构体数组的同时赋值,许多人一想就会想到用以下的这种方法,咱们来写一个例子:#include struct student { int a; int b ; int c ; }; struct student array1[1000] ; int main(void) { int i ; ...
  • C语言数组赋值一例

    千次阅读 2014-02-28 16:42:29
    在移植内核时,发现一个驱动使用数组十分巧妙。 一般地,操作CPU某一外设寄存,不是直接使用完整的地址,而是通过...如果有七、八个定时器,只需要定义好一个基地址数组、一个偏移地址数组,通过不同的序号就能访问不
  • C语言数组定义方式

    千次阅读 2021-01-08 20:14:58
    C语言的数组定义方式c语言数组定义方式1、一维数组2、一维数组初始化3、一维数组元素的引用 数组是存储数据的结构。由于单个变量所能存储的数据很有限,所以有了数组存储结构。不仅如此,数组指针是相辅相成的,...
  • c语言数组的动态赋值

    千次阅读 2019-01-12 19:22:34
    动态赋值法在c语言程序中有着很大的作用,比如输入几个数比较他们的大小,也可以与冒泡排序法相结合,从而使程序易于编译执行 #include &lt;stdio.h&gt;//动态赋值法,输入10个数,比较他们的大小 #include...
  • C语言数组知识点总结.doc C语言数组知识点总结数组定义数组是有序的并且具有相同类型的数据的集合。一维数组1、一般形式类型说明符 数组名常量表达式;例如 int a10; 元素为a0----a9.2、常量表达式中不允许包含变量...
  • name:数组&&结构体的一些小插曲(数组名,结构体名,整体赋值...)  */  #include int main() { char c1[3]={'a','b','c'}; /*c1[3]={'a','b'};这样不行 why ?so easy! c1[3] 是数组c1的第2个元素。*/  ...
  • //局部定义数组或者变量的时候不赋值么,数组或者变量的内容是不确定的 int i=0; for(;i<10;i++) { printf("第%d个元素的值是%d\n",i+1,arr[i]); } } 运行结果: #include<stdio.h> int main...
  • Android NDK - C语言 数组

    千次阅读 2020-07-02 12:54:16
    C语言 数组

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 97,009
精华内容 38,803
关键字:

c语言数组定义和赋值

c语言 订阅