C语言中计算数组长度的方法是什么

C语言中计算数组长度的方法是什么,第1张

用 sizeof 可以获得数据类型或变量在内存中所占的字节数。同样,用 sizeof 也可以获得整个数组在内存中所占的字节数。因为数组中每个元素的类型都是一样的,在内存中所占的字节数都是相同的,所以总的字节数除以一个元素所占的字节数就是数组的长度

比较特别的是,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补0)位移。例如,将11100011右移3比特,算术右移后成为11111100,逻辑右移则为00011100。

运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。

C语言特点:

其一,广泛性。C语言的运算范围的大小直接决定了其优劣性。C语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。

其二,简洁性。9类控制语句和32个关键字是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的 *** 作,提高其工作效率,同时还能够支持高级编程,避免了语言切换的繁琐。

C语言中字符串有一个结束符'\0',一个正常的字符串的最后一个字符都是'\0',在你定义一个常量字符串时就自动帮你加上去了,比如"abc"其实有4个字符{'a', 'b', 'c', '\0'},最后一个'\0'表示字符串到这就结束了,以防止内存读取越界,同时也以此来计算字符串长度,而不是再传一个int参数表示字符串的长度。因此a在内存中长度为6,但由于最后一个字符'\0'只是结束符,所有一般说长度时会忽略掉最后一个字符

stringh中提供了strlen函数可以方便地计算字符串的长度,不过注意strlen返回值的类型为size_t,x64下定义为uint64_t,x86下为uint32_t,所以记得进行类型转换

第一种:调用C库函数strlen(头文件<stringh>)

#include <stdioh>

#include <stringh>

int main(int argc, char argv[])

{

char a = "\x12\x00\x11\x00\x00";

printf("%d\r\n", (int)strlen(a));

return 0;

}

第二种:手动计算长度

#include <stdioh>

int main(int argc, char argv[])

{

char a = "\x12\x00\x11\x00\x00";

char p = a;

while ('\0' != p)

{

p++;

}

printf("%d\r\n", (int)(p - a));

return 0;

}

int length(int a,int b){

int len;

for(len=b-1;a[len]==0 || len==-1;len--);

return len+1;

}

试试这个函数,末尾那个数不能是0 ,其中b是数组长度,题中是10 ,你也可以这样定义

int b=sizeof(a)/sizeof(a[0])

以上就是关于C语言中计算数组长度的方法是什么全部的内容,包括:C语言中计算数组长度的方法是什么、C语言中如何获取数据长度、C语言怎么获取数值数组实际长度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9622120.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存