c语言数组定义未知长度(c语言中如何自定义数组长度)

本文目录
c语言中如何自定义数组长度
动态分配的数组可以自定义数组的长度,示例如下:
#include 《stdio.h》
#include 《string.h》
#include 《stdlib.h》
int main()
{
printf("输入要分配的内存大小:");
int size;
scanf("%d", &size); //输入自定义的数组长度
int *pstart = (int *)malloc(sizeof(int) *size);
if (pstart==0) {
printf("不能分配内存\n");
return 0;
}
memset(pstart, 0x00, sizeof(int) * size);
int inx;
for (inx=0; inx!=size; ++inx) pstart = inx;
for (inx=0; inx!=size; ++inx) printf("%d\t", pstart);
printf("\n");
return 0;
}
c 未知长度数组怎么定义
C语言是面向过程的语言,不支持类,要定义类你应该使用C++编写。
C99支持变长数组,可以用变量定义数组长度,如:
int n;
scanf("%d",&n);
int a;
C语言如何定于未知长度的字符串
第1个输出是8
10。sizeof运算符得到的是数组的占用字节的大小,在定义数组a的时候没有指明大小,编译器根据初始化的内容来决定a的大小,"abcdefg"是个字符串,连同表示字符串结束的’\0’共有8个字符,1个字符类型占用1个字节,所以sizeof(a)是8。在定义数组b的时候已经指明了大小,所以sizeof(b)是10。
第2个输出是5
20。strlen函数是计算字符串的长度,字符串以’\0’表示结束,所以strlen在遇到hello后面的’\0’时就会返回。sizeof跟第1个问题一样。
请问C语言中,如何在结构体内定义长度不确定的数组呢
两种方法:
一种是采用指针, 动态分配内存
另一种请搜索"柔性数组", 这种方式同样需要在堆中动态分配内存.

更多文章:
arcgis怎么设置文本框样式?用JS怎么实现一个把一个文本框中的选中内容加粗,效果基本上和编辑器的加粗效果相同急需
2026年11月6日 10:50
bios setup(“Bios setup”怎么在电脑里面设置)
2026年11月6日 10:00
php递归删除目录(php怎么删除文件夹和文件夹下的所有文件)
2026年11月6日 03:30
vimoapp安卓手机版(制作VLog常用的APP有哪些呢)
2026年11月6日 01:50
拜登国防授权法案(少数国家对来自中国的旅客采取入境限制措施,中方:将采取对等措施)
2026年11月6日 00:40






