问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

C语言数组赋值方法详解:函数动态赋值、for循环赋值等

创作时间:
作者:
@小白创作中心

C语言数组赋值方法详解:函数动态赋值、for循环赋值等

引用
1
来源
1.
http://www.cdweb.net/article/doegdoi.html

C语言中对数组赋值有多种方法,包括使用函数动态赋值、for循环赋值、初始化赋值、逐个赋值以及通过函数复制数据实现赋值等。下面将详细介绍这些方法。

C语言如何给用函数二维数组动态赋值

  1. 当成普通数组使用,用for循环即可赋值。

  1. 例程:
#include <stdio.h>
#include <stdlib.h>

int main(void) {
    int *a = NULL;
    int i;

    a = malloc(sizeof(int) * 10); /* 动态创建一个有10个int元素的数组 */
    if (a == NULL) {
        /* a==NULL表示空间分配失败 */
        fprintf(stderr, "MEMORY ERROR");
        return -1;
    }

    for (i = 0; i < 10; i++) {
        a[i] = i; /* 对数组进行赋值操作 */
    }

    free(a); /* 动态分配的空间需要用free()函数释放 */
    return 0;
}

C语言,怎么用for 循环给数组赋值?

  1. 首先打开c语言项目,输入如图所示代码创建一个int类型的数组。
  2. 然后规定数组的大小,输入如图所示代码设置数组存储数据。
  3. 然后在main函数中,创建int类型的变量i,输入如图所示代码用for语句。
  4. 输入如图所示代码在for语句中进行循环。在for语句中,利用printf语句。
  5. 然后设置输出的类型,输入如图所示代码再写入输出的对象。
  6. 然后点击运行程序,就可以看到数组的所有数据。

C语言一维数组赋值方法

  1. 初始化时进行赋值。

    int a[2] = {1,2};
    char str[20] = "hello world";
    
  2. 逐个赋值

    int a[4];
    a[0] = 1, a[1] = 2, a[2] = 3, a[4] = 4;
    

    等同于。

    for (int inx = 0; inx != 4; ++inx) a[inx] = inx + 1;
    
  3. 通过函数复制数据以实现赋值
    比如下面的代码,通过memcpy函数来实现数据的复制,以实现数组赋值的功能。

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main() {
        int inx;
        int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        int b[5];
    
        // 复制4个元素,b[4]将是随机值
        memcpy(b, a, 4 * sizeof(int));
        for (inx = 0; inx != 5; ++inx) printf("%d\t", b[inx]);
        printf("\n");
    
        memcpy(b, a + 4, 5 * sizeof(int));
        for (inx = 0; inx != 5; ++inx) printf("%d\t", b[inx]);
        printf("\n");
    
        return 0;
    }
    

C语言用函数实现数组赋值

如果你非要用指针的话,可以把数组的形式改写成指针的形式,就像一楼的

void Chg_Array(int array[], int size, int value) {
    int i;
    for (i = 0; i < size; i++)
        *(array + i) = value;
}
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号