当前位置: 首页 > wzjs >正文

专业做包装设计网站成都网络推广优化

专业做包装设计网站,成都网络推广优化,哈尔滨信息港,建筑师网站有哪些目录 1.sizeof 2.strlen 3.sizeof和strlen的对比 1.sizeof 1.1本质 sizeof是C/C中的关键字,属于编译时运算符,用于计算数据类型或变量占用内存的字节数。 1.2使用形式 - sizeof(类型名) :如 sizeof(int) (结果通常为4&am…

目录

1.sizeof

2.strlen

3.sizeof和strlen的对比


1.sizeof

1.1本质

sizeof是C/C++中的关键字,属于编译时运算符,用于计算数据类型或变量占用内存的字节数

1.2使用形式

-  sizeof(类型名) :如  sizeof(int) (结果通常为4)。
-  sizeof(变量名) :如  int a; sizeof(a) (结果为变量 a 的字节数)。

1.3特点

- 结果与数据类型、平台(32位/64位)相关,例如:

-  char :1字节; int :通常4字节(64位系统同32位); double :8字节。

- 数组: sizeof(数组名) 返回整个数组的字节数。

- 不实际计算表达式的值,仅计算类型大小,例如:

 sizeof(1+2*3)  结果为 sizeof(int) ,因表达式结果为 int 类型。

1.4实例

1. 4.1 计算基础数据类型大小

#include <stdio.h>int main() {printf("char: %zu 字节\n", sizeof(char));       // 输出:1  printf("int: %zu 字节\n", sizeof(int));         // 输出:4(32/64位系统常见值)  printf("double: %zu 字节\n", sizeof(double));   // 输出:8  return 0;
}

1.4.2 计算变量占用内存大小

#include <stdio.h>int main() {int num = 100;char ch = 'A';printf("num 占用 %zu 字节\n", sizeof(num));  // 输出:4(int类型大小)  printf("ch 占用 %zu 字节\n", sizeof(ch));    // 输出:1(char类型大小)  return 0;
}

1.4.3 计算数组总大小

#include <stdio.h>int main() {int arr[] = {1, 2, 3, 4, 5};  // 数组长度为5  printf("数组总大小:%zu 字节\n", sizeof(arr));  // 输出:20(5×4字节)  return 0;
}

1.4.4 计算表达式类型大小(不执行运算)

#include <stdio.h>int main() {int a = 1, b = 2;// 仅计算表达式结果的类型(int)大小,不计算1+2的值  printf("表达式类型大小:%zu 字节\n", sizeof(a + b));  // 输出:4  return 0;
}

2.strlen

2.1本质

C标准库函数,声明在  <string.h>  头文件中,用于计算字符串的实际长度(不包含末尾的 \0 空字

符)。

2.2使用形式

 size_t strlen(const char *str) ,参数为指向字符串的指针(以 \0 结尾)。

2.3特点

- 运行时计算,从字符串首地址开始逐个字符遍历,直到遇到 \0 停止。

- 示例:

char arr[] = "abc";    // 实际存储为 'a','b','c','\0'  
printf("%zu", strlen(arr));  // 输出3(不包含'\0') 

- 注意:

- 若字符串未正确以 \0 结尾, strlen 会越界访问内存,导致未定义行为。

- 不能用于计算数组(非字符串)的长度,例如 int arr[5] 无法用 strlen 获取元素个数。

2.4实例

2.4.1 计算普通字符串长度

#include <stdio.h>
#include <string.h>  // 需包含头文件int main() {char str[] = "hello world";  // 实际存储:'h','e','l','l','o',' ','w','o','r','l','d','\0'  size_t len = strlen(str);     // 计算到'\0'前的字符数  printf("字符串长度:%zu\n", len);  // 输出:11(不含'\0')  return 0;
}

2.4.2 空字符串与字符数组的区别

#include <stdio.h>
#include <string.h>int main() {char empty_str[] = "";       // 空字符串,仅含'\0'  char arr[] = {'a', 'b'};     // 字符数组(无'\0'结尾)  printf("空字符串长度:%zu\n", strlen(empty_str));  // 输出:0(仅'\0',无有效字符)  // 警告:arr无'\0',strlen会越界访问,结果未定义  printf("字符数组长度:%zu\n", strlen(arr));        // 可能输出随机值(危险!)  return 0;
}

2.4.3 指针与数组的区别

#include <stdio.h>
#include <string.h>int main() {char str[] = "abc";       // 数组,sizeof(str)为4(含'\0')  char *ptr = str;          // 指针,sizeof(ptr)为8(64位系统指针大小)  printf("数组长度(sizeof):%zu\n", sizeof(str));  // 输出:4  printf("字符串长度(strlen):%zu\n", strlen(str));  // 输出:3  printf("指针大小(sizeof):%zu\n", sizeof(ptr));    // 输出:8(指针占8字节)  return 0;
}

3.sizeof和strlen的对比

3.1 对比实例

#include <stdio.h>
#include <string.h>int main() {char arr[10] = "abcd";  // 数组大小10,存储"abcd\0...."(后5字节为随机值)  printf("sizeof(arr): %zu\n", sizeof(arr));  // 输出:10(数组总字节数)  printf("strlen(arr): %zu\n", strlen(arr));  // 输出:4(遇'\0'停止)  return 0;
}

-  sizeof(arr)  关注数组声明的大小(10字节)。

-  strlen(arr)  关注有效字符数(4个,不含 \0 )。

希望本篇内容能够帮助大家对sizeof和strlen的理解,感谢大家的观看!

http://www.dtcms.com/wzjs/139744.html

相关文章:

  • 生物科技公司网站模板下载自助建站官网
  • 企业所得税税率表2022年整站seo技术搜索引擎优化
  • 做购物网站百度网址是多少 百度知道
  • 成人学电脑在哪里报名网络推广优化是干啥的
  • 数字货币网站开发企业员工培训课程有哪些
  • 营销网站的设计思路外包平台
  • 自己做培训网站烟台seo网络推广
  • 德国室内设计无锡seo网站排名
  • 做外贸需要关注国外哪些网站网络广告宣传平台
  • 网站建设优化服务方案模板武汉seo公司排名
  • 做网站的服务器cpu异常2023广东最新疫情
  • 秦皇岛市做公司网站的网络推广平台排名
  • 南宁网站建设找哪家推广普通话黑板报
  • 东西湖网站建设学生个人网页制作素材
  • 北京网站建设付款方式杭州关键词优化平台
  • 简单网页设计模板图购买seo关键词排名优化官网
  • 海南省建设网站的公司电话号码关键词点击排名软件
  • 东营市做网站百度竞价排名正确解释
  • 智能网站建设平台搜索引擎关键词的工具
  • 优质聊城做网站公司在线葡京在线葡京
  • 找第三方做网站 需要注意百度平台商家联系方式
  • 一起做网站17怎么下单关键词爱站网
  • 北京做电商网站网站推广和seo
  • wordpress 柒比贰2.seo关键词推广多少钱
  • 做网站需要数据储存么网站seo系统
  • 网站域名多少钱有广告位怎么找广告商
  • 哈尔滨学校网站建设免费seo在线优化
  • 黑科技软件网站推广运营怎么做
  • 公司营业执照可以做几个网站网站关键词优化工具
  • 网站资讯建设我想找一个营销团队