0
点赞
收藏
分享

微信扫一扫

虎头虎脑的sizeof、strlen、数组长度、数组中元素个数和字符串长度

言午栩 2022-05-03 阅读 61

🚵 前言+目录:

对于C语言的初学者来说,常常被 sizeof、strlen、数组长度、数组中元素个数 和 字符串长度 这些涉及数组的概念的题弄得摸不着头脑,似懂非懂。今天我将以往所遇到的相关题目,整理了出来并向外拓展,给你全面的介绍,下次再看到不会发慌,一笑而过😀😃😎


🏆🚴 坑点总结:

🔥 sizeof、strlen 异同:

sizeof操作符,计算变量(类型)所占内存空间的大小,单位是字节,不关注内存中存放的内容

strlen库函数,使用时需要引头文件,专门求字符串长度,只能针对字符串,向后一直找\0,统计\0之前出现的字符个数 

 以上代码的片段 👇👇

int num = 10 ;

printf ( " %d\n " , sizeof (arr) ) ;     

char ch2 [10] = " abc " ;

printf ( " %d\n " , strlen(ch2) ) ;                        

printf ( " %d\n " , strlen( " abcdef \n " ) ) ;       

char str [ ] = " hello girl " ;

printf ( " %d %d \n " , sizeof (str) , strlen(str) ) ;  

🔥 printf 打印:

printf 打印时,遇到 \0 停下,不在继续打印 

 以上代码的片段 👇👇

printf ( " abcd \0 ef " ) ;     

char arr2 [ ] = { 'a' , 'b' , 'c' , 'd' , 'e' , 'f' } ;

printf ( " %s\n " , arr2 ) ;       

char arr3 [ ] = { 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , ’\0‘ } ;

printf ( " %s\n " , arr3 ) ;     

🔥 数组长度、数组元素个数、字符串长度:

数组长度数组元素个数大小是一样的,或者说这俩就是一个东西 

字符串长度 \0 之前出现的字符个数,不加 \0 

计算数组长度 时若数组中有 \0 , 需要加上 \0 

以上代码的片段 👇👇

char ch1[10] = { 'a' , 'b' , 'c' } ;

char ch2[10] = " abc " ;

char arr1 [ ] = " abc " ;

char arr2 [ ] = { 'a' , 'b' , 'c' } ;

int arr1 [10] ;                 

int arr2 [ ] = {1,2,3} ;     

char acx [ ] = " abcdefg " ;                             

char acy [ ] = { 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' } ;  

char arr1 [ ] = " abcdef " ;    

printf ( " %s\n " , arr1 ) ;         

char arr2 [ ] = { 'a' , 'b' , 'c' , 'd' , 'e' , 'f' } ; 

printf ( " %s\n " , arr2 ) ;                           

char arr3 [ ] = { 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , ’\0’ } ;

printf ( " %s\n " , arr3 ) ;                                  

printf ( " %d\n " , strlen( " abcdef \n " ) ) ;     

🔥 数组中一个特殊的知识点:

 以上代码的片段 👇👇

int arr [5] = {1,2,3,4,5} ;

int arr [ ] = {1,2,3,4,5} ;

int arr [10] = {1,2,3,4,5,6,7,8,9,10} ;

int n = 3 ;

arr [n] = 20 ;  

int num = 10 ;    
       
int arr [10] = {0} ;    
 
printf ( " %d\n " , sizeof (arr) ) ;       

printf ( " %d\n " , sizeof (int[10]) ) ;  

printf ( " %d\n " , sizeof (int [5]) ) ;   

🚵 结语:

如果对您有帮助的话,

不要忘记点赞+关注哦,蟹蟹

如果对您有帮助的话,

不要忘记点赞+关注哦,蟹蟹

如果对您有帮助的话,

不要忘记点赞+关注哦,蟹蟹

举报

相关推荐

0 条评论