sizeof是合法常量吗?
看来你是单片机C语言编程了 sizeof(arr); arr是一个指针,获取到的是指针的字节数,在c中是4 在单片机中从来没有用过sizeof取得数组的长度 一般来说,单片机中数组长度都是固定的,编写者都知道了长度,没必要多此一举取长度 不过你确实要获取长度,可以自己写个函数来获取,并且数组定义方法要改改比如你给的例子,定义成code unsigned int arr[]={1,2,3,4,9999};那么获取长度的函数检测到9999就可以了,这是数组长度就出来了 我只是提供思路,你可以再考虑考虑,希望帮你解决了问题
sizeof运算符的功能是获取某一数据或数据类型在内存中所占的字节数这句话是对的嘛?
sizeof运算符的功能是获取某一数据或数据类型在内存中所占的字节数这句话是对的。
sizeof在 Pascal 语言中,sizeof() 是一种内存容量度量函数,功能是返回一个变量或者类型的大小(以字节为单位);在 C 语言中,sizeof() 是一个判断数据类型或者表达式长度的运算符。
在Pascal 语言与C语言中,对 sizeof() 的处理都是在编译阶段进行。
c语言的size of,strlen什么意思?
sizeof函数是计算数据空间的字节数;
strlen函数是计算字符数组的字符数,以"\0"为结束判断,不包含结束字符'\0'。
举例说明如下:
int a;
char b[]="abcd";
printf("%d", sizeof(a)); // 输出变量a所占的内存字节数,输出4
printf("%d", sizeof(b)); // 输出字符数组b所占的内存字节数,输出5(5=4+1,1为结束字符所占的内存)
printf("%d", strlen(b)); // 输出字符数组b中字符的个数,输出4(不含结束字符''\0)
还没有评论,来说两句吧...