From c4510afdec0175b7e1cd93d289ee20d64b03a7f2 Mon Sep 17 00:00:00 2001 From: zyimm Date: Wed, 13 Nov 2024 14:31:25 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20C=20=E8=AF=AD=E8=A8=80=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E7=B1=BB=E4=BC=BCphp=E7=9A=84array=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _posts/编程/C语言/implements-php-array.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/_posts/编程/C语言/implements-php-array.md b/_posts/编程/C语言/implements-php-array.md index 4aadf16..366d201 100755 --- a/_posts/编程/C语言/implements-php-array.md +++ b/_posts/编程/C语言/implements-php-array.md @@ -108,6 +108,12 @@ int main() { ``` -上面code中使用了动态数组来表示类似于PHP的array数据类型。动态数组包含一个void指针数组和数组的大小和容量。使用realloc函数来实现动态扩容。在添加元素时,先判断数组是否已满,如果已满则动态扩容。在删除元素时,将数组中的元素向前移动一个位置,覆盖掉要删除的元素。在获取元素时,根据索引返回相应的元素。需要注意的是,由于数组中的元素是void指针类型,因此需要进行类型转换后才能使用。 +上面code中使用了动态数组来表示类似于PHP的array数据类型。 + +1. 动态数组包含一个void指针数组和数组的大小和容量。 +2. 使用realloc函数来实现动态扩容。 +3. 在添加元素时,先判断数组是否已满,如果已满则动态扩容。 +4. 在删除元素时,将数组中的元素向前移动一个位置,覆盖掉要删除的元素。 +5. 在获取元素时,根据索引返回相应的元素,需要注意的是,由于数组中的元素是void指针类型,因此需要进行类型转换后才能使用。 这种实现方式可以用于存储任意类型的数据,包括基本类型、结构体、指针等。但需要注意的是,由于C语言中没有自带的动态类型或泛型机制,因此在使用动态数组时需要手动进行类型转换和类型检查,否则可能会导致程序出错或崩溃。