
你用malloc或者是百calloc函数分配即可。
int
a
=
10;
struct
NODE
{
int
value;
int
next;
};
int
main()
{
struct
NODE
arr
=
(struct
NODE)malloc(asizeof(struct
NODE));//请求获取内存
//
//程序的度具体 *** 作
//
free(arr);//用完后记得归还内存
return
0;
}
malloc给你分配a个大小为struct
NODE的空间,问也就相当于一个结构体数组,但是用完后要用free函数释放你想答系统申请的内存。
对于申请长版度可变的数组,只能动态分配,也就是使权用malloc或者calloc函数分配。
strlen(str) 首先说说它,str[20]={'a','b','c','\0'};
printf("%d",strlen(str));输出的值为3,而不是20,因为strlen认\0的,\0就认为结束。
sizeof(str)则不管\0,定义多大数组就显示多大。
1 4 6
2 6 3
3 0 4
7 5 3 这是一个二维数组 a[4][3]
它可以看成4个一维数组 146 263 304 753
它的一维数组长度多大啊,数数呗!!
sizeof()可以办到的。sizeof(a[0])/4你试试(4是int类型占4个字节的意思)。但sizeof(a)不可以,因为a 也是二维数组。 而a[0],a[1]等表示含三个元素的一维数组。
给分奥,不明白再问
输入个数无限制,要求输入格式为数字在同一行,数字之间用空白分隔,数字输入完成后用回车结束输入:
//---------------------------------------------------------------------------
#include <stdioh>
#include <stdlibh>
int main(void)
{
int n,i,arr=NULL;
for (i=1; ; i++) {/输入若干个整数,并存入arr动态数组/
scanf("%d",&n);
arr=(int )(arrrealloc(arr,sizeof(int)i):malloc(sizeof(int)));
arr[i-1]=n;
if (getchar()=='\n') break;
}
for (n=0; n<i; n++) {/输出arr数组的元素/
printf("%d\t",arr[n]);
}
free(arr);/释放空间/
return 0;
}
//---------------------------------------------------------------------------
以上就是关于C语言,结构体数组的长度全部的内容,包括:C语言,结构体数组的长度、C语言中求一个二维数组的一维数组的长度有什么函数、c语言动态数组长度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)