C语言中sizeof和strlen有何使用差异及适用场景?
- 内容介绍
- 文章标签
- 相关推荐
本文共计872个文字,预计阅读时间需要4分钟。
目录 + 1. sizeof 与 strlen + 2. short a[100],sizeof(a) 返回? + 3. 下述程序在32位 Linux 或 Unix 中的结果是? + 4. sizeof 与 strlen 的区别本质上是什么? + 例子:sizeof(char c[])=
目录
- 1、sizeof与strlen
- 2、short a[100],sizeof(a)返回?
- 3、下列程序在32位 linux 或 unix 中的结果是什么?
- 4、sizeof与strlen的区别本质上而言
先上一个例子:
结果:
1、sizeof与strlen
char c[] = “abc\0cba”;
问题1:sizeof(c) = ?
问题2:strlen(c) = ?
问题3:执行free(c);之后会有什么后果?
解答1:8
解答2:3 (判断字符串a的长度,这个长度不包括"\0")
解答3:段错误
2、short a[100],sizeof(a)返回?
A 2 B 4 C 100 D 200 E 400
答案:D
段错误:指访问的内存超出了系统所给这个程序的内存空间。
本文共计872个文字,预计阅读时间需要4分钟。
目录 + 1. sizeof 与 strlen + 2. short a[100],sizeof(a) 返回? + 3. 下述程序在32位 Linux 或 Unix 中的结果是? + 4. sizeof 与 strlen 的区别本质上是什么? + 例子:sizeof(char c[])=
目录
- 1、sizeof与strlen
- 2、short a[100],sizeof(a)返回?
- 3、下列程序在32位 linux 或 unix 中的结果是什么?
- 4、sizeof与strlen的区别本质上而言
先上一个例子:
结果:
1、sizeof与strlen
char c[] = “abc\0cba”;
问题1:sizeof(c) = ?
问题2:strlen(c) = ?
问题3:执行free(c);之后会有什么后果?
解答1:8
解答2:3 (判断字符串a的长度,这个长度不包括"\0")
解答3:段错误
2、short a[100],sizeof(a)返回?
A 2 B 4 C 100 D 200 E 400
答案:D
段错误:指访问的内存超出了系统所给这个程序的内存空间。

