sizeof()深入理解
2012-03-03 13:27
225 查看
最近一直有准备面试,对于基础知识的掌握程度还真的得好好补一下。sizeof(type)是经常遇到的一类笔试题,为了能以不变应万变,还是将sizeof的原理搞清楚最省事。
如下原则须谨记:
1. sizeof()不是函数,而是一个操作数,即关键词(相信这一点大部分人都很诧异);
2. sizeof() 返回结构体、数组、变量的实际大小,但是对于指针,只能返回指针所占用的内存的大小,不能返回指针所指向的内存的大小,即不能返回动态分配的内存空间的尺寸;
练习题,巩固所学:
运行结果是什么呢?认真想一想再回答:>
如下原则须谨记:
1. sizeof()不是函数,而是一个操作数,即关键词(相信这一点大部分人都很诧异);
2. sizeof() 返回结构体、数组、变量的实际大小,但是对于指针,只能返回指针所占用的内存的大小,不能返回指针所指向的内存的大小,即不能返回动态分配的内存空间的尺寸;
练习题,巩固所学:
#include <stdlib.h> #include <stdio.h> char* string = "Hello"; int var = 100; int* pint = NULL; int** ppint = NULL; int array[100]; int array_func(char para[100]) { return sizeof(para); } int malloc_func(void) { int* p = NULL; return sizeof(p = malloc(100)); } int main(int argc,char* argv[]) { char para[100]; printf("string size:%d\n",sizeof(string)); printf("var size:%d\n",sizeof(var)); printf("pint size:%d\n",sizeof(pint)); printf("ppint size:%d\n",sizeof(ppint)); printf("array size:%d\n",sizeof(array)); printf("array func size:%d\n",array_func(para)); printf("malloc func size:%d\n",malloc_func()); return 1; }
运行结果是什么呢?认真想一想再回答:>
相关文章推荐
- (转)深入理解sizeof
- sizeof关键字的讲解和深入理解
- C++——深入理解sizeof
- 有关sizeof 数组名的问题 数组名和指针的深入理解(C++)
- 深入理解计算机各种类型大小(sizeof)
- 【转载】[C++]深入理解sizeof-使用规则及陷阱分析
- 对于sizeof()和strlen()的深入理解
- C++ 深入理解sizeof(),strlen()和内存补齐
- C/C++ 深入理解计算机各种类型大小(sizeof)
- sizeof的深入理解
- 深入理解sizeof
- 深入理解sizeof
- 深入理解sizeof
- 深入理解sizeof
- 深入理解sizeof
- 深入理解计算机各种类型大小(sizeof)
- 转:深入理解sizeof与strlen
- C++:深入理解sizeof
- 深入理解sizeof
- 深入理解sizeof