- 浏览: 308847 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (272)
- java (42)
- c (49)
- 算法 (29)
- 汇编语言 (3)
- 字符集 (3)
- error (3)
- 搜索引擎 (2)
- 互联网 (18)
- linux (12)
- 网络 (20)
- VMWare (1)
- 面试 (7)
- c++ (55)
- 设计模式 (3)
- db (9)
- office (2)
- FS (1)
- rest (3)
- Ajax (2)
- Spring (2)
- Hibernate (3)
- matlab (1)
- load balancing (8)
- 分布式计算 (2)
- 易语言 (1)
- apache tomcat (1)
- 测试 (1)
- 数据结构 (5)
- 数学 (13)
- 服务器 (9)
- 读后感 (4)
- 好书介绍 (1)
- script (3)
- wordpress (2)
- delphi (21)
- pascal (8)
- xml (3)
- 趣味 (1)
- PHP (3)
- python (13)
- DLL (4)
- openGL (8)
- windows (2)
- QT (28)
- django (7)
- jquery (1)
- 数据挖掘 (7)
- nginx (1)
- js (1)
- mac (1)
- hadoop (3)
- 项目管理 (1)
- 推荐系统 (1)
- html (1)
最新评论
-
晴天1234:
related remove:attention.ibus和u ...
UBUNTU的默认root密码是多少,修改root密码 -
美丽的小岛:
美丽的小岛 写道如上配置好就得了。提示没有OpenGl.dll ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
如上配置好就得了。提示没有OpenGl.dll之类的,再增加入 ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
主要是理清哪两个对象之间的关系,是信号与所有槽的关系或者是槽与 ...
QT之DisConnect -
美丽的小岛:
LPCTSTR类型:L表示long指针 这是为了兼容Windo ...
QString与各种字符串之间的转化
#include<stdio.h> /* 关于数据结构的求大小的情况: #pragma pack(push) #pragma pack(8) #pragma pack(pop) (1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除; (2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding); (3) 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加上填充字节(trailing padding)。 */ typedef struct t{ int i ; char c ; struct t *next ; }t; typedef struct t1{ char c ; int b ; float f ; double d ;//8字节的double }t1; typedef struct t2{ t1 t ; char s ; int ii ; }t2 ; int type_test(){ printf("a") ; return 100 ; } void type_test2(){ } void array(int a[10]){ printf("in functin aizeof(a[10])=%d\n",sizeof(a)) ;//这个变成了指针 } int main(){ //基本类型 char c ; printf("sizeof(c)=%d\n",sizeof(c)) ; short int si ; printf("sizeof(si)=%d\n",sizeof(si)) ; int b ; printf("sizeof(b)=%d\n",sizeof(b)) ; float f ; printf("sizeof(f)=%d\n",sizeof(f)) ; long l ; printf("sizeof(l)=%d\n",sizeof(l)) ; long long ll ; printf("sizeof(ll)=%d\n",sizeof(ll)) ; double d ; printf("sizeof(d)=%d\n",sizeof(d)) ; //结构体 printf("\n") ; printf("sizeof(t)=%d\n",sizeof(t)) ; printf("sizeof(t1)=%d\n",sizeof(t1)) ; printf("sizeof(t2)=%d\n",sizeof(t2)) ; //函数 printf("\n") ; printf("sizeof(type_test())=%d\n",sizeof(type_test())) ;//这个函数并没有调用 printf("sizeof(type_test)=%d\n",sizeof(type_test)) ; printf("sizeof(type_test2())=%d\n",sizeof(type_test2())) ; //指针,32bit的机器,所以所有的Poiter都是4字节的大小 printf("\n") ; char* pc = "abc"; int* pi; char** ppc = &pc; double *dp ; printf("char pointer:%d\n",sizeof(pc)); // 结果为4 printf("int pointer:%d\n",sizeof(pi)); // 结果为4 printf("char pointer pointer:%d\n",sizeof(ppc)); // 结果为4 printf("double pointer:%d\n",sizeof(dp)); // 结果为4 //数组 printf("\n") ; int a[10] ; printf("sizeof(a[10])=%d\n",sizeof(a)) ; array(a) ; return 0 ; }
发表评论
-
vs2008【断点无效】解决方法
2015-04-13 10:05 788有时候,我们在用vs2008调试的时候,会出现断点无效。如下 ... -
C++模板之特化与偏特化详解
2015-01-07 14:44 835转自:http://www.jb51.net/a ... -
c++中的typename与class<转>
2015-01-07 08:51 829在泛型编程的形参表中,关键字typename和class具有 ... -
traits:Traits技术初探
2015-01-06 12:49 799概述:traits是一种特性萃取技术,它在Generic ... -
POD型别
2015-01-06 12:37 769POD全称Plain Old Data。通俗的讲,一个类或结 ... -
c++核心基础知识(内存管理)
2015-01-04 22:22 704内存管理是C++最令人切 ... -
内存分配器<转>
2015-01-04 22:07 1389题记:内存管理一直 ... -
operator new在C++中的各种写法
2015-01-04 19:27 1204http://blog.sina.com.cn/s/blo ... -
可变参数va_list
2014-12-26 17:45 8811.要在函数中使用参数,首先要包含头文件<stdarg ... -
map注意的两个问题
2014-12-11 14:21 641代码1 void main() { ... -
关于C++ const 的全面总结<转>
2014-11-14 12:56 760C++中的const关键字的用法非常灵活,而使用const ... -
C++DLL编程详解
2014-10-08 19:44 1655DLL(Dynamic Link Library)的 ... -
C++&&QT调试时出现的一些错误
2014-10-08 15:14 787错误 原因 解决 ... -
【转】C++ function、bind以及lamda表达式
2014-09-11 09:42 880本文是C++0x系列的第四篇,主要是内容是C++0x中新增 ... -
STL函数对象及函数对象适配器【转】
2014-09-10 09:24 495一 函数对象Functor STL中提供了一元和 ... -
typedef和typename关键字[转]
2014-09-10 09:21 6911、类型说明typedef 类型说明的格式为: type ... -
C/C++中extern关键字详解[转]
2014-09-09 11:38 5061 基本解释:extern可以置于变量或者函数前,以标示变量 ... -
MYSQL在C—API 中可用的函数
2014-08-24 23:03 609mysql_affected_rows() 返 ... -
C & C++的编译
2014-08-12 09:21 519C/C++编译过程 C/C++编 ... -
C++全局变量的声明和定义
2014-08-11 20:51 439(1)编译单元(模块 ...
相关推荐
不用C中关键字sizeof 计算int型的字节数 要求编写sizeof函数
前言 C语言中的sizeof是一个很有意思的关键字,经常有人用不对,搞不清不是什么。我以前也有用错的时候,现在写一写,也算是提醒...sizeof函数的结果: 1.变量:变量所占的字节数。 int i = 0; printf(%d\n, sizeof
需要注意的是,当数组作为函数参数传递时,它会退化为指针,因此`sizeof`将返回指针的大小,而不是数组的大小。这是C语言中一个常见的陷阱: ```c void print_size(int arr[5]) { printf("Size of arr in function...
### C语言中的`sizeof`操作符详解 #### 一、`sizeof`操作符的基本概念 `sizeof`是C语言中的一个单目操作符,用来获取指定类型或变量的存储大小,通常以字节为单位。它并非是一个真正的函数,而是一种特殊的语法...
本手册——"C语言常用函数手册",是C程序员的重要参考资料,涵盖了C语言中广泛使用的函数,帮助开发者快速查询和理解函数的用途、参数和返回值。 1. **标准库函数**: - **输入/输出函数**:如`printf`用于格式化...
但是,如果该类具有虚函数,其大小至少为`sizeof(void*)`,因为需要存储虚函数表指针。 9. **字节对齐**:字节对齐会影响`sizeof`的结果,特别是在处理结构体或数组时。编译器会根据特定的对齐规则进行内存布局,...
sizeof函数在C/C++编程语言中扮演着至关重要的角色,它是程序员获取数据类型或变量占用内存大小的关键工具。本文将深入探讨sizeof的定义、用途、使用方法以及需要注意的事项,并通过实例分析来帮助读者更好地理解和...
### 详细解析C语言中的`sizeof` #### 一、`sizeof`的概念 `sizeof`是C语言中的一个单目操作符,类似于其他操作符如`++`和`--`等。需要注意的是,`sizeof`不是函数,而是用来获取操作数(可以是一个表达式或类型名...
在计算机编程语言C和C++中,`sizeof`是一个非常重要的运算符,它用来获取一个类型或变量在内存中占据的字节数。这个运算符在编写高效且内存管理精细的程序时尤其关键。以下是对`sizeof`函数的详细解释: 1. **什么...
C语言sizeof用法详解 C语言中,sizeof是一个操作符(operator),用于返回一个对象或者类型所占的内存字节数。它的返回值类型为size_t,定义在头文件stddef.h中。 sizeof的作用是简单地返回一个对象或者类型的内存...
在C/C++编程语言中,`sizeof`是一个非常重要的运算符,用于获取变量或类型所占用内存的字节数。本篇文章将全面讲解`sizeof`的用法,并将其与常用的字符串长度函数`strlen()`进行比较,帮助开发者深入理解并解决在...
本教程“C语言函数范例教程大全”专注于通过实例教学,帮助学习者深入理解和应用C语言中的函数。 一、函数的基本概念 在C语言中,函数是一组执行特定任务的语句。函数可以接受输入(参数),并返回结果(返回值)。...
`sizeof`是C和C++中的一个非常重要的运算符,用于获取任何数据类型或变量在内存中占用的字节数。下面将详细讲解`sizeof`的用法。 1. `sizeof`与`strlen`的区别: - `strlen()`函数主要用于计算字符数组(字符串)...
《C语言函数大全(语法着色版)》是一份针对C语言编程的参考资料,它集成了C语言的各种函数,提供了语法高亮的展示方式,旨在帮助程序员更清晰、直观地理解和掌握C语言中的函数用法。这篇文档不仅包含了标准库函数,也...
C语言sizeof详解 sizeof是C语言中一种重要的单目操作符,它可以返回变量或数据类型的存储大小,以字节为单位。sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型,该类型保证能容纳实现所...
4. **指针和内存操作函数**:包括`&`取地址运算符,`*`解引用运算符,`sizeof`计算数据类型或变量大小,以及`memcpy()`、`memmove()`、`memset()`等内存操作函数。 5. **文件操作函数**:`fopen()`打开文件,`...
C语言中的`malloc`函数是动态内存管理的重要工具,它允许程序在运行时根据需要分配内存,而不是在编译期间...`malloc`函数是C语言中实现动态内存管理的基础,理解并正确使用它对于编写高效且内存安全的C程序至关重要。
"C语言函数大全"涵盖了从基本操作到复杂计算的各种函数,它们构成了C语言的核心功能。 1. **基本输入输出函数**: - `printf()`:用于向标准输出设备(通常是屏幕)打印格式化的数据。 - `scanf()`:从标准输入...
8. 数组和指针相关函数:如`sizeof()`返回变量或数据类型的大小,`memcpy()`和`memmove()`复制内存块,`memset()`设置内存区域的值。 9. 错误处理函数:`errno`全局变量保存错误代码,`perror()`打印错误信息。 ...