一个小例子引发的思考
2018-01-16 20:07
281 查看
思考的问题:1.sizeof和strlen的区别
2.形参传数组名和传指针变量有啥区别不
3.sizeof数组得到的就是是什么的值
先看以下代码:
通过这个例子解决了以上问题:
1.sizeof一般是测某一数据类型所占的字节数,而strlen则是测某一字符串的长度,以\0为结束标志
2.通过这个例子还可以发现,其实形参用数组名或者指针变量所占的字节数是一样的
3.如果直接用sizeof计算数组,得到的就是声明时设定的大小,比如a[100],则sizeof(a)==100
2.形参传数组名和传指针变量有啥区别不
3.sizeof数组得到的就是是什么的值
先看以下代码:
#include<stdio.h> #include<string.h> int main(){ int deal(char b[]); char a[100]; char *q; printf("数组a占 %d 个字节\n",sizeof(a)); printf("指针变量q占 %d 字节\n",sizeof(q)); q=a; int c; gets(a); c=deal(q); printf("该字符串的长度 %d",c); } int deal(char b[]){ int d; printf("形参数组名所占 %d 个字节\n",sizeof(b)); d=strlen(b); return(d); }运行结果如下:
通过这个例子解决了以上问题:
1.sizeof一般是测某一数据类型所占的字节数,而strlen则是测某一字符串的长度,以\0为结束标志
2.通过这个例子还可以发现,其实形参用数组名或者指针变量所占的字节数是一样的
3.如果直接用sizeof计算数组,得到的就是声明时设定的大小,比如a[100],则sizeof(a)==100
相关文章推荐
- 由一个线程例子引发的思考(转载)
- JS: 一个小例子引发的思考
- 一个例子引发的思考——C++内存地址
- Adnroid一个例子引发的思考
- 由一个线程例子引发的思考
- 由一个JMS简单例子引发的思考
- 一个“强制转换”的例子引发的思考
- 一个粗心的问题引发的思考
- 由一个C++问题引发的讨论和思考(未完待续)
- c#几个小例子引发的思考
- 一个帖子引发的思考
- 一个定时器引发的思考
- 一个“粘贴”问题引发的思考
- 一个嵌入式初学者引发的思考(jesse谈自己的经验体会) 【转】
- 关于一个S5pv210 HDMI调试帖子引发对方案以及开发板公司技术支持的思考
- 一个分号引发的思考
- Vert.x,一个异步、可伸缩、并发应用框架引发的思考
- 一个JDK版本问题引发的思考--Java环境配置 && Eclipse的JDK配置
- 一个帖子引发的思考
- 2015-11-02-04-一个问题引发的思考