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语言中,如何在结构体内定义长度不确定的数组呢
两种方法:
一种是采用指针, 动态分配内存
另一种请搜索"柔性数组", 这种方式同样需要在堆中动态分配内存.

更多文章:
idea控制台乱码(idea 输出 System.out.println() 控制台乱码)
2026年10月14日 07:30
spring事务的作用(为什么要使用spring的事务,一般在什么情况下使用)
2026年10月14日 05:40
linux怎么进入命令行(怎么样配置linux使其启动时直接登录到命令行模式)
2026年10月14日 02:00
java培训机构好还是大学好(大学生想转行学java,该去java培训班还是自学呢)
2026年10月13日 23:30
前端面试必背十个点(资深HR揭秘:Web前端面试技巧有哪些)
2026年10月13日 17:50
sqlplus重置用户名密码(Oracle中的plus的用户名和密码忘了怎么办)
2026年10月13日 17:40



