C中的插入排序

问题描述 投票:0回答:2

我在C语言中实现了插入排序,一个正在帮助我的人告诉我做一个指针,如末尾的下一行所示,但是为什么?

size_t size = sizeof( array ) / sizeof( *array ); 

为什么第二个指针指向数组,size_t做什么?

insertion-sort
2个回答
0
投票

sizeof(array) =整个数组的大小,以字节为单位;

[sizeof(*array) =数组中第一项的大小,以字节为单位;

由于C数组中的项目具有统一的大小,将第一个除以第二个将得到数组中的项目数。

size_t是一个无符号整数,其大小足以存储计算机dan存储在内存中的任何项目的大小。因此,通常,它与unsigned int相同,但不能保证是相同的,并且它具有语义价值,因为它是另一回事。


0
投票

为什么第二个是指向数组的指针

示例1字符a [5];sizeof(a)= 5sizeof(* a)= 1

因此,大小= 5/1 = 5 //这表示数组中的元素数没有]

示例2int a [5];sizeof(a)= 20sizeof(* a)= 4

因此,size = 20/4 = 5 //这表示数组中的元素数

size_t会做什么?

读取:What is size_t in C?

© www.soinside.com 2019 - 2024. All rights reserved.