C语言实现宏定义数组增加长度,不用指针

C语言实现宏定义数组增加长度,不用指针,第1张

宏定义数组无法动态增加长度

只能通过修改宏的方式,重新编译增加长度.

比如

#define N 100

int a[N],b[N],c[N]

定义的a b c都是100个元素.

修改 #define N 1000

那就都是1000个元素了.

C语言中,数组是一组连续的相同类型的数据集合。 所以要在数组中插入元素,需要按照以下步骤:

1、找到插入点;

2、将插入点所在元素,及之后的所有元素,都向后移动一个单位;

3、将插入点赋值为要插入的元素。

以固定位置插入,代码举例如下:

#include <stdio.h>

void insert(int *a, int n, int i, int v)

//将长度为n的数组a, 下标为i的位置插入值为v的元素。 插入后,数组长度为n+1.

{

    int j

    for(j = n-1 j>=i j --)//将i及以后的后移一位。 由于是固定位置插入,所以不需要查找插入位置。 

        a[j+1] = a[j]

    a[i] = v//插入元素。 

}

int main()

{

    int a[5] = {1,3,6,7}/五个元素数组,初始化四个值。

    int i

    

    insert(a, 4, 2, 5)//将5插入到a[2]位置。 

    for(i = 0 i < 5 i ++)

        printf("%d ", a[i])//输出结果,为1 3 5 6 7 

    return 0

}

1、例如:

#define M 80

#define N 100

#define ARRAY(A,M,N) A[M][N]

char ARRAY

2、宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译

宏定义又称为宏代换、宏替换,简称“宏”。

格式:

#define 标识符 字符串

其中的标识符就是所谓的符号常量,也称为“宏名”。

预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。

掌握"宏"概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”。即在对相关命令或语句的含义和功能作具体分析之前就要换。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11849969.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存