1-1、问:"char a[10]; int len = strlen(a);",len等于多少?

解析:strlen计算从数组a的第一个元素开始到'\0'总共有多少个字符(不包含'\0')。

由于字符数组没有初始化,数组元素的值是未知的,所以len的值也是未定的。

1-2

  1 #include <stdio.h>2 #include <string.h>3 #include <stdlib.h>4 5 void fun(char str[100])6 {7         printf("%d\n", sizeof(str));8         // Note: 数组作为函数形参,char str[100]等价于char *str9         // 此处为 指针的大小,结果为8字节 (64bits系统)10 }11 12 int main(void)13 {14         char str[] = "hello";15         char *p1 = str;16         int n = 10;17         char *p2= (char *)malloc(100);18 19         printf("%d\n", sizeof(str));20         printf("%d\n", strlen(str));21 22         printf("%d\n", sizeof(p1));     // Note: 指针变量的长度23         printf("%d\n", strlen(p1));24 25         printf("%d\n", sizeof(n));      // sizeof(int)26         printf("%d\n", sizeof(p2));27 28         fun(p2);29 30         printf("\n");31         return 0;32 }

1-3、结构体struct、共用体union 的sizeof

附:字节对齐

eg. struct A{ short s; int i; char c; };

sizeof(A) = 12

= (2 + 2)+ 4 +(1 + 3)

eg. struct A{ char c; short s; int i; };

sizeof(A) = 8

= (1 + 2 + 1)+ 4

eg. union B{ double d; char c; }

sizeof(B) = 8

eg. union B{double d; char c[13]; }

sizeof(B) = 16;

2、

重载:函数名相同,参数不同

覆盖:基类的函数为虚函数(virtual),派生类的成员函数覆盖基类中的同名同参函数

隐藏:函数名相同--若 参数不同,无论基类中是否为虚函数,都将隐藏;若 参数相同,不为虚函数,则隐藏

问题:1.sizeof;2.重载覆盖隐藏;3.内存管理相关推荐

  1. c++ 重载 覆盖 隐藏的区别和执行方式

    成员函数被重载的特征(1)相同的范围(在同一个类中): (2)函数名字相同: (3)参数不同: (4)virtual 关键字可有可无. 覆盖是指派生类函数覆盖基类函数,特征是 (1)不同的范围(分别位 ...

  2. 函数重载 覆盖 隐藏

    重载overload 函数名相同,但形参的个数或形参的类型不同. 仅返回值不同,不能定义为重载函数. class Base { public:void baseFun(int) { cout < ...

  3. java重载覆盖隐藏_重载,覆盖以及隐藏 - osc_4dki3x9l的个人空间 - OSCHINA - 中文开源技术交流社区...

    重载是指同名函数具有不同的参数表.在同一访问区域内声明的几个具有不同参数列表(参数的类型.个数.顺序不同)的同名函数,程序会根据不同的参数列来确定具体调用哪个函数.对于重载函数的调用,编译期间确定,是 ...

  4. C++中的覆盖(重写)、重载、隐藏(重定义)、多态!

    例一: 首先声明Base类型的指针指向实际类型为Derived的对象,先调用基类构造函数,再调用派生类构造函数.输出Base, Derived. base->echo(); 指针是base类型, ...

  5. 深入理解成员函数的重载、隐藏、覆盖规则(二)

    本文作者:islwj 本文出处:http://blog.csdn.net/islwj 声明: 本文可以不经作者同意, 任意复制, 转载, 但任何对本文的引用都请保留文章开始前三行的作者, 出处以及声明 ...

  6. 第九天2017/04/18(3、重载/覆盖 PK 重写/重定义、父类子类混搭风、抽象类)

    1.重载/覆盖 PK 重写/重定义 [预备知识] 函数重载必须在同一个类中发生子类无法重载父类的函数,父类同名的函数将会被名称覆盖重载是在编译期间根据参数类型和个数决定函数调用重载只放在同一个类之中, ...

  7. “类的使用”编程规范(一)覆写(重写)、重载、隐藏、遮蔽、遮掩

    "类的使用"编程规范(一) 1调用静态方法的注意事项 当子类继承父类的静态方法时,如果直接用实例来调用就会将子类中的静态方法隐藏,结果显示为父类的静态方法. package Tas ...

  8. 遮掩java_关于java中的覆写、重载、隐藏、遮掩、遮蔽

    最近在重新学习java,发现了以前未发现的几个概念,从网上搜索了一些资料,现在整理下.对于我来说,以前只是知道java中的覆写 重载和隐藏,这次却发现还有遮掩和遮蔽这两个概念.下面是整理的一篇文章. ...

  9. 笔记②:牛客校招冲刺集训营---C++工程师(面向对象(友元、运算符重载、继承、多态) -- 内存管理 -- 名称空间、模板(类模板/函数模板) -- STL)

    0618 C++工程师 第5章 高频考点与真题精讲 5.1 指针 & 5.2 函数 5.3 面向对象(和5.4.5.5共三次直播课) 5.3.1 - 5.3.11 5.3.12-14 友元 友 ...

最新文章

  1. 《Storm企业级应用:实战、运维和调优》——1.4 Storm的特性
  2. java keytool生成证书_使用JDK自带的工具keytool生成证书
  3. python运行非常慢的解决-python为什么会运行慢
  4. Zepto源码分析-架构
  5. codeforces Educational Codeforces Round 49 (Rated for Div. 2) C题
  6. 案例详解Python变量的作用域是怎么使用的,面试必学
  7. 使用ffmpeg打印音视频的详细信息
  8. Unity自定义事件相应区域
  9. CRM订单上状态字段在UI的显示逻辑
  10. 外呼机器人起名_智能外呼机器人,目前都有哪些公司做产品?
  11. 你见过哪些令你瞠目结舌的 JavaScript 代码技巧?
  12. 靠java_人生靠反省,Java靠泛型
  13. 查询字符串(性能对比): Array Vs HashMap
  14. python 如果你的年龄大于18_02Python基础
  15. Excel自定义格式详解
  16. vim - 格式化JSON
  17. 开关电源的开关管一般用MOS管而不是三极管原因
  18. 看我骚操作‘破解’某查查app的sign以及某眼查的Authorization!
  19. 微信小程序商城如何打印快递单
  20. 偶感——自我世界•现实•世俗

热门文章

  1. 年薪20万Python工程师进阶(7):Python资源大全,让你相见恨晚的Python库
  2. 电驴日语资料下载总汇
  3. 四川农业大学ZigBee复习重点
  4. UVA 10935 卡片游戏
  5. 学3D建模,需要哪些基础?
  6. OSM逆地理服务器搭建(四)之Web端加载OpenStreetMap地图
  7. Linux c网络编程聊天室项目
  8. 用友U8和旺店通·企业奇门单据接口对接
  9. 3月国产新能源汽车销量排行,坐等蔚来新车型
  10. 测试用例驱动阅读Express源码