当前位置: 首页 > news >正文

做视频网站的流程wordpress 新浪微博插件

做视频网站的流程,wordpress 新浪微博插件,wordpress图片实现下一篇文章,wordpress的function命名目录 前言 1.数组 1.定义 2.初始化 3.销毁 4.取值 5.设置值 6.完整代码 前言 这篇博客主要介绍数据结构中的数组和广义表的用法。 1.数组 在数据结构中,数组是一种线性数据结构,它由一组连续的相同类型的元素组成,每个元素都有一个唯…

目录

前言

1.数组

1.定义

2.初始化

3.销毁

4.取值

5.设置值

6.完整代码


前言

        这篇博客主要介绍数据结构中的数组和广义表的用法。

1.数组

        在数据结构中,数组是一种线性数据结构,它由一组连续的相同类型的元素组成,每个元素都有一个唯一的索引或者下标来标识其在数组中的位置。

        数字的常用操作除了初始化和销毁之外,只有存取元素和修改元素值的操作。

1.定义

        我们一般使用顺序结构来定义数组。

#define MAX_ARRAY_DIM 8 // 设置数组维数的最大值为8
typedef struct {int *base;      // 数组元素基址,由initArray分配int dim;        // 数组维数int *bounds;    // 数组维界基址,由initArray分配int *constants; // 数组影像函数常量基址,由initArray分配
} Array;

2.初始化

//初始化
int initArray(Array *array, int dim, ...) {if (dim < 1 || dim > MAX_ARRAY_DIM) return 0;array->dim = dim;array->bounds = (int *)malloc(dim * sizeof(int));if (!array->bounds) return 0;int total = 1;va_list ap;va_start(ap, dim);for (int i = 0; i < dim; ++i) {array->bounds[i] = va_arg(ap, int);if (array->bounds[i] < 0) return 0;total *= array->bounds[i];}va_end(ap);array->base = (int *)malloc(total * sizeof(int));if (!array->base) return 0;array->constants = (int *)malloc(dim * sizeof(int));if (!array->constants) return 0;array->constants[dim - 1] = 1;for (int i = dim - 2; i >= 0; --i)array->constants[i] = array->bounds[i + 1] * array->constants[i + 1];return 1;
}

3.销毁

int destroyArray(Array *array) {if (!array->base) return 0;free(array->base);array->base = NULL;if (!array->bounds) return 0;free(array->bounds);array->bounds = NULL;if (!array->constants) return 0;free(array->constants);array->constants = NULL;return 1;
}

4.取值

int getValue(Array *array, ...) {va_list ap;va_start(ap, array);int index = 0;for (int i = 0; i < array->dim; ++i) {int subscript = va_arg(ap, int);if (subscript < 0 || subscript >= array->bounds[i]) {va_end(ap);return 0;}index += array->constants[i] * subscript;}va_end(ap);return array->base[index];
}

5.设置值

int setValue(Array *array, int value, ...) {va_list ap;va_start(ap, value);int index = 0;for (int i = 0; i < array->dim; ++i) {int subscript = va_arg(ap, int);if (subscript < 0 || subscript >= array->bounds[i]) {va_end(ap);return 0;}index += array->constants[i] * subscript;}va_end(ap);array->base[index] = value;return 1;
}

6.完整代码

#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>#define MAX_ARRAY_DIM 8 // 设置数组维数的最大值为8
typedef struct {int *base;      // 数组元素基址,由initArray分配int dim;        // 数组维数int *bounds;    // 数组维界基址,由initArray分配int *constants; // 数组影像函数常量基址,由initArray分配
} Array;// 基本操作的函数原型说明
int initArray(Array *array, int dim, ...);
int destroyArray(Array *array);
int getValue(Array *array, ...);
int setValue(Array *array, int value, ...);
void testArrayOperations(void);//初始化
int initArray(Array *array, int dim, ...) {if (dim < 1 || dim > MAX_ARRAY_DIM) return 0;array->dim = dim;array->bounds = (int *)malloc(dim * sizeof(int));if (!array->bounds) return 0;int total = 1;va_list ap;va_start(ap, dim);for (int i = 0; i < dim; ++i) {array->bounds[i] = va_arg(ap, int);if (array->bounds[i] < 0) return 0;total *= array->bounds[i];}va_end(ap);array->base = (int *)malloc(total * sizeof(int));if (!array->base) return 0;array->constants = (int *)malloc(dim * sizeof(int));if (!array->constants) return 0;array->constants[dim - 1] = 1;for (int i = dim - 2; i >= 0; --i)array->constants[i] = array->bounds[i + 1] * array->constants[i + 1];return 1;
}int destroyArray(Array *array) {if (!array->base) return 0;free(array->base);array->base = NULL;if (!array->bounds) return 0;free(array->bounds);array->bounds = NULL;if (!array->constants) return 0;free(array->constants);array->constants = NULL;return 1;
}int getValue(Array *array, ...) {va_list ap;va_start(ap, array);int index = 0;for (int i = 0; i < array->dim; ++i) {int subscript = va_arg(ap, int);if (subscript < 0 || subscript >= array->bounds[i]) {va_end(ap);return 0;}index += array->constants[i] * subscript;}va_end(ap);return array->base[index];
}int setValue(Array *array, int value, ...) {va_list ap;va_start(ap, value);int index = 0;for (int i = 0; i < array->dim; ++i) {int subscript = va_arg(ap, int);if (subscript < 0 || subscript >= array->bounds[i]) {va_end(ap);return 0;}index += array->constants[i] * subscript;}va_end(ap);array->base[index] = value;return 1;
}void testArrayOperations(void) {Array array;if (initArray(&array, 2, 3, 4)) {printf("Array initialized successfully.\n");printf("Setting values...\n");for (int i = 0; i < 3; ++i) {for (int j = 0; j < 4; ++j) {if (setValue(&array, i * 10 + j, i, j)) {printf("Value set at (%d, %d).\n", i, j);} else {printf("Failed to set value at (%d, %d).\n", i, j);}}}printf("Getting values...\n");for (int i = 0; i < 3; ++i) {for (int j = 0; j < 4; ++j) {int value;if (getValue(&array, i, j, &value)) {printf("Value at (%d, %d): %d\n", i, j, value);} else {printf("Failed to get value at (%d, %d).\n", i, j);}}}printf("Destroying array...\n");if (destroyArray(&array)) {printf("Array destroyed successfully.\n");} else {printf("Failed to destroy array.\n");}} else {printf("Failed to initialize array.\n");}
}
int main(int argc, const char *argv[]) {testArrayOperations();return 0;
}

http://www.sczhlp.com/news/90923/

相关文章:

  • SSL部署完成,https显示连接不安全如何处理?
  • 各省简称
  • 完整教程:HDFS基准测试与数据治理
  • var code = 76cb2b4f-5a26-4a70-a3bf-dc8f2ae5162f
  • 解放双手!三端通用的鼠标连点神器
  • 自考网站建设与管理手机网站模板开发工具
  • 重庆定制网站开发价格90设计网首页
  • 邗江区城乡建设局网站建筑设计公司经营范围有哪些
  • 做网站如何兼职友点企业网站管理系统 模板
  • 企业的网站建设公司网站策划书怎么做的美观
  • 网站的源码做彩票的网站
  • 预售网站开发网站怎么做推广和宣传语
  • 5188站长平台网站设计费用多少钱
  • 茂名公司网站制作阿里云域名注册步骤
  • 南宁推广平台沈阳seo关键词排名
  • 建筑网站图片深圳竞价网站
  • 南阳网站建设汽车之家官网网页版
  • 江都建设招标网站1688关键词排名查询工具
  • 安阳市网络公司网站权重对优化的作用
  • 鹤壁网站设计包装盒网站模板下载
  • 服务网站建设的公司asp.net做的网站要放到网上空间去要放哪些文件上去
  • 江西建设厅网站财务部政务网站建设管理工作总结
  • 自建网站模板下载台州椒江区热销企业网站搭建
  • 广州市建设厅网站国展网站建设
  • VMware Avi Load Balancer 31.1.2 发布 - 多云负载均衡平台
  • C# WinForms 使用 CyUSB.dll 访问 USB 设备
  • NKOJ全TJ计划——NP3990
  • Linux redis 8.2.1源码编译
  • v9做的网站被攻击链接吧跳转沈阳男科医院哪家好哪个医院正规
  • wordpress的图片代码是什么seo查询5118