首页 > 系统相关 >new_d_array()函数接受一个int类型的参数和double类型的参数。该函数返回一个指针,指向由malloc()函数分配的内存块。int类型的参数指定了动态数组中的元素个数 ,double类

new_d_array()函数接受一个int类型的参数和double类型的参数。该函数返回一个指针,指向由malloc()函数分配的内存块。int类型的参数指定了动态数组中的元素个数 ,double类

时间:2024-08-07 23:27:57浏览次数:9  
标签:p1 函数 show int double new array

/*下面是使用变参函数的一段程序:

include <stdio.h>

include <string.h>

incude <stdarg.h>

void show_array(const double ar[],int n);
double *new_d_array(int N,...);
int main(void)
{
double p1;
double p2;
p1=new_d_array(5,1.2,2.3,3.4,4.5,5.6);
p2=new_d_array(4,1000.0,20.00,8.08,-1890.0);
show_array(p1,5);
show_array(p2,4);
free(p1);
free(p2);
return 0;
}
new_d_array()函数接受一个int类型的参数和double类型的参数。该函数返回一个指针,指向由malloc()函数分配的内存块。int类型的参数指定了动态数组中的元素个数
,double类型的值用于初始化元素(第一个值赋给第一个元素,以此类推)。编写new_d_array()和show_array()函数的代码完成这个程序
/

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>

void show_array(const double ar[], int n)
{
    for (int i = 0; i < n; i++)
    {
        printf("%.2f ", ar[i]);
    }
    printf("\n");
}
double *new_d_array(int N, ...)
{
    double *array = (double *)malloc(N * sizeof(double));
    if (array == NULL)
    {
        fprintf(stderr, "Memory allocation failed\n");
        return NULL;
    }
    va_list args;
    va_start(args, N);
    for (int i = 0; i < N; i++)
    {
        array[i] = va_arg(args, double);
    }
    va_end(args);
    return array; 
}

int main(void)
{
    double *p1;
    double *p2;
    p1 = new_d_array(5, 1.2, 2.3, 3.4, 4.5, 5.6);
    p2 = new_d_array(4, 1000.0, 20.00, 8.08, -1890.0);
    if (p1 != NULL)
    {
        show_array(p1, 5);
        free(p1);
    }
    if (p2 != NULL)
    {
        show_array(p2, 4);
        free(p2); 
    }

    return 0;
}

标签:p1,函数,show,int,double,new,array
From: https://www.cnblogs.com/yesiming/p/18348068

相关文章

  • 趣味Python游戏编程:第3章 递归函数的威力:扫雷
    趣味Python游戏编程:第3章递归函数的威力:扫雷在第2章中,我们制作了一个拼图游戏,玩家通过鼠标操作图片块移动。本章设计一款扫雷游戏,玩法是在一个方块阵列中随机埋设一定数量的地雷,然后由玩家逐个打开方块,并以排除所有地雷为最终游戏目标。如果玩家打开的方块中有地雷,则游戏......
  • python的函数、魔法方法和案例
    1.python函数中self的用法在Python中,self 是一个对当前实例(对象)的引用,用于访问属于该类的变量和方法。在定义类的方法时,通常需要将 self 作为第一个参数。这允许在类的实例上调用方法时,自动将实例本身作为参数传递给方法。classPerson:def__init__(self,name......
  • 【C语言常见函数】格式化输入与字符串处理函数汇总
    格式化输出sprintf()、printf()和fprintf()功能上有本质区别,分别用于向字符串缓冲区、终端和文件输出格式化的数据!简介printf():printf()是C标准库中的函数,用于向标准输出流(通常是终端)输出格式化数据。格式:intprintf(constchar*format,...)通过printf()函数......
  • Free-RTOS任务删除函数vTaskDelete()解析
    目录函数vTaskDelete()函数prvDeleteTCB()总结函数vTaskDelete()此函数用于删除已被创建的任务,被删除的任务将从就绪态任务列表、阻塞态任务列表、挂起态任务列表和事件列表中移除,要注意的是,空闲任务会负责释放被删除任务中由系统分配的内存,但是由用户在任务删除前申请的内存,......
  • 函数的学习(三)
    1.函数的声明和定义在C语言中,函数的声明和定义是分开的。函数的声明是指在程序中提前告诉编译器有一个函数存在,并且指定了函数的名称、参数类型和返回值类型。函数的声明一般放在头文件中,它的作用是告诉编译器有一个函数存在,并且在其他地方可能会用到这个函数。函数的声明的......
  • arduino相关函数
    I/O相关pinMode(pin,mode)作用:配置引脚以及引脚模式pin:为设置的引脚1,2,...mode:设置引脚的模式OUTPUT:输出模式INPUT:输入模式INPUT_PULLUP:上拉输入模式digitalWrite(pin,value)作用:配置引脚的值,设为高电平或低电平pin:设置的引脚value:HIGH或LOW设置为低......
  • FreeRTOS中任务创建函数xTaskCreate()的解析
    目录函数xTaskCreate()函数prvInitialiseNewTask()函数pxPortInitialiseStack()函数prvAddNewTaskToReadyList()总结函数xTaskCreate()此函数用于使用动态的方式创建任务,任务的任务控制块以及任务的栈空间所需的内存,均由FreeRTOS从FreeRTOS管理的堆中分配,若使用此函数,......
  • 19.python之自定义函数
    python之自定义函数一、函数的介绍1、函数定义:函数是一个组织好,可重复使用,实现单一或联合的代码段。2、函数作用:a、降低代码的冗余、b、增加代码的复用性c、提高程序的拓展性d、封装二、python的结构三、函数的使用1、格式:def函数名(变量):执行语句函数名(实际参数)#调......
  • leetcode 1486. 数组异或操作 https://leetcode.cn/problems/xor-operation-in-an-arr
    1486.数组异或操作题目描述给你两个整数,n和start。数组nums定义为:nums[i]=start+2*i(下标从0开始)且n==nums.length。请返回nums中所有元素按位异或(XOR)后得到的结果。示例示例1:输入:n=5,start=0输出:8解释:数组nums为[0,2,4,6,8],其中(0^......
  • OVER (PARTITION BY xx ORDER BY xx) 窗口函数理解
    SUM(sale_amount)OVER(PARTITIONBYsalespersonORDERBYsale_date)这段SQL窗口函数的详细解释和它在执行过程中所发生的具体细节如下:解析步骤窗口函数的基础定义:SUM(sale_amount):表示我们要对sale_amount列应用SUM聚合函数。OVER子句:指定窗口函数的范围和计算......