Tag: 大小

动态增加/减少arrays大小

我正在尝试动态增加数组的大小。 是否有任何标准的C或C ++函数,它会在数组的末尾添加额外的空格或将其删除? 我知道,这很难,因为无法确保堆末端有足够的空间。 但这不应该是操作系统的工作吗?

如何在C中获取目录的大小?

是否有一个POSIX函数可以给我一个目录(包括所有子文件夹)的大小,大致相当于“ du -s somepath ”?

C中的整数或任何其他数据类型的大小是否依赖于底层架构?

#include int main() { int c; return 0; } // on Intel architecture #include int main() { int c; return 0; }// on AMD architecture / *这里我在两台不同的机器上有一个代码,我想知道’是否依赖于机器的数据类型的大小’* /

c中数据类型的大小

数据类型硬件体系结构的大小是依赖还是依赖于编译器? 我想知道哪些因素对确定数据类型的大小有实际影响?

函数中char指针数组的大小

使用此代码: #include void printSize(char *messages[]) { printf(“%d”, sizeof(messages) / sizeof(char *)); } int main(void) { printf(“Size when through passing direct to function: “); printSize((char *[]){“Zero”, “One”, “Two”, “Three”}); printf(“\n”); printf(“Size when calculating in main: %d\n”, sizeof((char *[]){“Zero”, “One”, “Two”, “Three”}) / sizeof(char *)); return 1; } 我得到输出: Size when through passing direct to function: 1 […]

怎么可能读取和写入数组

计划的输出: #include int main() { int size; printf(“Enter the size of array: “); scanf(“%d”,&size); int b[size],i = 0; printf(“Enter %d integers to be printed: “,size); while(i++ < size) { scanf("%d",&b[i]); printf("%d %d\n", i, b[i]); } return 0; } 对于size = 5和输入数字: 0 1 2 3 4 是 1 0 2 1 3 2 4 3 […]

查询gcc的-ffunction-section和-fdata-sections选项

以下在GCC页面中提到的function部分和数据部分选项: -ffunction-sections -fdata-sections 如果目标支持任意节,则将每个函数或数据项放入输出文件中的自己的部分。 函数名称或数据项名称确定输出文件中节的名称。 在链接器可以执行优化以改善指令空间中引用的局部性的系统上使用这些选项。 大多数使用ELF对象格式的系统和运行Solaris 2的SPARC处理器都具有这种优化的链接器。 AIX可能会在将来进行这些优化。 只有在这样做的重大好处时才使用这些选项。 指定这些选项时,汇编器和链接器将创建更大的对象和可执行文件,并且速度也会更慢。 如果指定此选项,则无法在所有系统上使用gprof,如果同时指定此选项和-g,则可能在调试时遇到问题。 我的印象是这些选项有助于减少可执行文件的大小。 为什么这个页面会说它会创建更大的可执行文件? 我错过了什么吗?

如何在C中更改数组的大小?

我正在尝试一下gamestudio。 我正在制作射击游戏。 我有一个指针指向敌人的arrays。 我想要。 到敌人被杀时 将他从列表中删除。 而且我也想创造新的敌人。 Gamestudio使用名为lite-C的脚本语言。 它具有与C相同的语法,并且在他们说的网站上,它可以使用任何C编译器进行编译。 它是纯C,没有C ++或其他任何东西。 我是C的新手。我通常使用.NET语言和一些脚本语言编程,

可以在c的运行时确定数组的大小吗?

据我所知,在编译c的时间之前,数组需要具有特定的大小。 我想知道为什么这段代码仍然有用? int s; printf(“enter the array size: “); scanf(“%d”,&s); int a[s]; // Isn’t s value determined at run time?

c中数组的大小

一个让我烦恼的简单问题。 假设我在main中定义了一个数组,如int arr[5] 。 现在,如果我仍然在main中并且我设置int i = sizeof(arr)/sizeof(arr[0])然后我被设置为5,但是如果我将数组作为函数参数传递并且完全相同在这个函数中计算,我得到一个不同的数字。 这是为什么? 起初我认为它是因为在一个函数arr是一个指针,但据我所知, arr也是一个指针在主内部! 此外,如果我做一些非常相似的事情,我只是动态地初始化数组,我得到了奇怪的结果: int *arr = (int*) malloc(sizeof(int) * 5); int length = sizeof(*arr) / sizeof(arr[0]); printf(“%d\n”,length); 输出为1 。 有什么想法吗? 提前致谢!