strlen和sizeof的区别
来源:互联网 发布:淘宝店铺怎么重新激活 编辑:程序博客网 时间:2024/05/16 04:49
sizeof是运算符,strlen是函数,后者可以取地址
sizeof在编译时计算,strlen运行时计算
sizeof参数可以是类型,strlen只能用'\0'结尾的char *作参数
sizeof不退化数组参数为指针,strlen退化数组参数为指针
sizeof不关心空间里的内容,只关心空间本身大小,strlen关心空间里的内容('\0'结尾),不关心空间本身
如:
#include <stdio.h>#include <string.h>#include <stdlib.h>intmain(void){char*ptr;charbuf[20] = "123456";ptr = buf;printf("strlen: ptr %ld buf %ld\n", strlen(ptr), strlen(buf));printf("sizeof: ptr %ld buf %ld\n", sizeof(ptr), sizeof(buf));exit(0);}
输出:
strlen: ptr 6 buf 6 //strlen是以'\0'为终止信号,所以他只关心'\0'之前目标的数据量大小, //不管定义时我给的空间到底多大;strlen返回大小不将'\0'计入sizeof: ptr 8 buf 20 //sizeof是我定义时所给的空间大小,不关心所给空间里面的数据量大小; //64位系统,指针大小为8字节
0 0
- strlen和sizeof的区别
- strlen和sizeof的区别
- strlen和sizeof的区别
- sizeof 和 strlen 的区别
- sizeof 和 strlen的区别
- sizeof和strlen的区别
- sizeof 和 strlen 的区别
- sizeof 和strlen的区别
- strlen和sizeof的区别
- sizeof和strlen的区别
- strlen和sizeof的区别
- sizeof和strlen的区别
- strlen和sizeof的区别
- strlen和sizeof的区别
- sizeof和strlen的区别
- strlen和sizeof的区别
- sizeof和strlen的区别
- sizeof和strlen的区别
- UVA 11361 - Investigating Div-Sum Property(数位DP)
- 三极管典型开关电路
- 在Java中应用Saxon实现Xquery
- Lua 字符串库函数总结
- 英文IT缩写名称笔记,逐步补充
- strlen和sizeof的区别
- ubuntu上安装Erlang
- LeetCode Word Break (dp)
- UVA 1073 - Glenbow Museum(数论+计数问题+递推)
- Javaweb开发防止用户重复登录
- 哈希表之二----链地址法创建哈希表
- Myeclipse中左边的项目目录调没了,怎么再让它显示出来
- 关于Struts的Action
- Android学习笔记(十三)——碎片(一)