C语言中新增一个数组元素

C语言中新增一个数组元素,第1张

main()

{int i,n,m

int a[8]={1,2,3,4,5,6,7,8}/*可以自己定义的,这里为了方便*/

printf("\nthe original array a:")

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

printf("%-3d",a[i])

printf("\n")

printf("\nplease enter whick number you want added n(0~8):")/*输入要加入的下标n,从0~8之间*/

scanf("%d",&n)

for(i=8i>ni--)

a[i]=a[i-1]

printf("\Enter the number you added m:")

scanf("%d",&m)

a[n]=m

printf("now,the array a:")

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

printf("%-2d",a[i])

printf("\n")

}

1、方法解释:数组的容量一经定义就固定的,不能动态的添加元素,要想添加就要重新定义个更大容量的数组,再把原数组复制过去。

2、具体方法:

#include <iostream>

#include <vector>

#include <string>

using namespace std

int main

vector<string>vecStr;

vecStr.push_back("x1")。

扩展资料:

程序结构

C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。

因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。

判断语句(选择结构):

if 语句:“如果”语句;if—else 语句:“若?(则)?否则?”语句;switch 语句:“切换”语句;switch—case:“切换—情况”语句。

循环语句(循环结构):

while 语句:“当?”语句;do—while 语句:“做?当?(时候)”语句;for 语句:条件语句(即“(做)?为了?”语句)。

跳转语句(循环结构:是否循环):

goto 语句:“转舵”语句,也称“跳转”语句;break 语句:“中断”(循环)语句,即结束整个循环;continue 语句:“继续”语句(结束本次循环,继续下一次循环);return 语句:“返回”语句。

参考资料来源:百度百科--数组元素

参考资料来源:百度百科--c语言

C语言的数组有动态数组和静态数组两种。

1 静态数组。

对于静态数组,无法新增加数组成员数量。

所以一定要最初始定义足够大的数组,然后可以用一个整型变量维护数组中现有成员个数,再动态增加实际成员个数。

比如

int a[1000]

int n = 0

while(scanf("%d",&a[n]) != EOF) n ++

这样的代码就可以实现增加数组成员数的类似效果。n为实际成员个数。

2 动态数组。

动态数组是可以随时改变数组成员个数的。不过为了确定当前数组个数,需要用两个整型变量来保存最大成员数,和已有成员数,这样就可以在不够的时候进行扩大。

int n = 0, size = 100 //n为当前元素个数,size为数组大小,初始为100.

int *a = NULL//数组指针。

a = (int *)malloc(sizeof(int) * size) // 初始分配100个元素。

while(scanf("%d",&a[n]) != EOF) 

{

    n++

    if(n >= size)//空间不足。

    {

            size+=100//增加100个元素空间。

            a = (int *)realloc(sizeof(int)*size, a)//重新分配空间。

    }

}


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

原文地址:https://54852.com/bake/11764779.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存