sizeof
来源:互联网 发布:证大财富淘宝贷假不假 编辑:程序博客网 时间:2024/04/30 11:20
/********************************************************************************* * Copyright: (C) 2015 songyong<handy_skyoutlook.com> * All rights reserved. * * Filename: array.c * Description: This file * * Version: 1.0.0(2015年09月11日) * Author: sky <handy_sky@outlook.com> * ChangeLog: 1, Release initial version on "2015年09月11日 13时56分59秒" * ********************************************************************************/#include<stdio.h>#include<stdlib.h>/******************************************************************************** * Description: * Input Args: * Output Args: * Return Value: ********************************************************************************/int main (int argc, char **argv){ struct { short a1; short a2; short a3; }A; struct { int a1; char a2[3]; short a3; }B; struct { int a1; char a2[2]; short a3; }C; char *ss1 = "0123"; char ss2[] = "0123"; char ss3[100] = "0123"; int ss4[100] ; char q1[] = "abc"; char q2[] = "a\n"; char * q3 = "a\n"; char *str1 = (char *)malloc(100); void *str2 = (void *)malloc(100); printf("*ss1 :%d\n",sizeof(ss1)); printf("ss2[] :%d\n",sizeof(ss2)); printf("ss3[100] :%d\n",sizeof(ss3)); printf("ss4 :%d\n",sizeof(ss4)); printf("q1[] :%d\n",sizeof(q1)); printf("q2[] :%d\n",sizeof(q2)); printf("*q3 :%d\n",sizeof(q3)); printf("*str1 :%d\n",sizeof(str1)); printf("*str2 :%d\n",sizeof(str2)); printf("A:%d\n",sizeof(A)); printf("B:%d\n",sizeof(B)); printf("C:%d\n",sizeof(C)); return 0;} /* ----- End of main() ----- */
在默认情况下,为了方便对结构体内元素的访问和管理,当结构体内的元素的长度都小于处理器的位数的时候,便以结构体里面最长的数据元素为对齐单位,也就是说,结构体的长度一定是最长的数据元素的整数倍。如果结构体内存在长度大鱼处理器位数的袁术,那么就以处理器位数为对齐单位。但是结构体内类型相同的连续元素将在连续的空间内,和数组一样。
另外:
sizeof (ss1) 结果为4,ss1是指向字符串常量的字符指针。
sizeof (*ss1) 结果为1,*ss1是第一个字符;
sizeof (ss3) 结果为100,ss3表示在内存中预分配的大小。
strlen (ss3) 结果为10,计算的是字符串的长度,遇到‘\0‘即停止。
sizeof (ss4) 结果为400,ss4表示在内存中的大小,
strlen (ss4) 出错,stelen参数必须是char * 类型,且必须是以‘\0’结尾的。
0 0
- SIZEOF
- Sizeof
- sizeof
- sizeof
- sizeof
- sizeof
- sizeof
- sizeof............
- sizeof
- sizeof
- sizeof
- sizeof
- sizeof
- sizeof
- sizeof
- sizeof
- sizeof
- sizeof
- c#图片压缩
- 【排序】堆排序法
- 在线CronTrigger表达式
- 【敏捷软件开发:原则、模式与实践】之敏捷设计的几个原则
- parquet原理分析
- sizeof
- 【转】iPhone易被窃听应用三分钟即可获取所有信息--之文章
- JDK源码 -- Map篇
- [PHP]PHP函数
- hdu4616 树形dp(有限制的权值最大链)
- Apache Came组件rest的使用
- C++ <替换字符串中的数字>
- 越长大越孤单
- spring cron表达式