32位系统,地址长度是32位(bit),也就是4Byte;64位系统,地址长度是64位(bit),也就是8Byte

运用1:

char a[] = "hello world"; //自动为末尾加上'/0'

char b[14] = "hello world";

char *p = a;

char *dd = "01234";

NSLog(@"%ld", sizeof(a));

NSLog(@"%ld", sizeof(b));

NSLog(@"%ld", sizeof(p));

NSLog(@"%ld", sizeof(dd)); //dd是指向字符串常量的字符指针

NSLog(@"%ld", sizeof(*dd)); //*dd是第一个字符 (所占大小由数据类型决定)

答案:

32位机器上运行: 12 14 4 4 1

64位机器上运行: 12 14 8 8 1

运用2:

NSLog(@"%lu,%lu,%lu,%lu",sizeof(char),sizeof(char*),sizeof(char[4]),sizeof((char*)(12)));

NSLog(@"%lu,%lu,%lu,%lu",sizeof(char),sizeof(char*),sizeof(char[0]),sizeof((char*)(12)));

32位机器上运行: 1,4,4,4    64位机器上运行:1,8,4,8

32位机器上运行: 1,4,0,4    64位机器上运行: 1,8,0,8

数据类型所占字节数:

32位和64位下

相同的:

char --1,   short int -- 2,   int -- 4,unsingned int  -- 4,   float -- 4,double -- 8 , long long 8,

不同的:

32位下:char* -- 4 , long -- 4  ,unsigned long -- 4

64位下:char* -- 8 , long -- 8  , unsigned long -- 8

sizeof 和 strlen 简单的区别:

sizeof是运算符,它计算的是系统分配的空间大小,不是存储数据的大小

strlen是函数,()里面必须是字符串指针或者字符串常量,返回的是/0前面的字符个数。

例子:

char dd[10] = "01234";

NSLog(@"%ld,%ld", sizeof(dd),strlen(dd));

输出:10,5

c语言sizeof char,sizeof(char),sizeof(char*),sizeof(char[4]),相关推荐

  1. 定义char dog[]=wang\0miao;那么sizeof(dog)与strlen(dog)分别是多少:

    定义char dog[]="wang\0miao";那么sizeof(dog)与strlen(dog)分别是多少: 正确答案: A   你的答案: 空 (错误) 10,4 4,4 ...

  2. 【C语言】算数操作符 移位操作符 以及 sizeof单目操作符讲解

    目录 1.算术操作符 2. 移位操作符 2.1 左移操作符 2.2 右移操作符 3.sizeof 单目操作符介绍 操作符介绍: C语言操作符分为: 算术操作符 移位操作符 位操作符 赋值操作符 单目操 ...

  3. c语言char数字转int补位,关于char强制转换成int到底是用0还是用1补位的猜想与检验...

    关于char强制转换成int到底是用0还是用1补位的猜想与检验 最近学C语言发现char强制转换时值会完全不同,而且变化很大,于是决定写代码测试一下. 先检验一下char型的-3和3在内存中分别怎么表 ...

  4. 如何求C语言字符串长度(strlen函数和sizeof关键字)

    如何求C语言字符串长度(strlen函数和sizeof关键字) 在程序里,一般会用***strlen()***函数或***sizeof()***来获取一个字符串的长度,但这2种方法获取的字符串的长度其 ...

  5. sizeof 在C语言的作用,C语言中的sizeof的用法详解

    C语言中的sizeof的用法详解 一.sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.它并不是函数.sizeof操作符以字节形式给出了其操作数的存储大小.操 ...

  6. c语言wchar转化为char_linux 下 wchar_t和char的相互转化

    C95标准化了两种表示大型字符集的方法:宽字符(wide character,该字符集内每个字符使用相同的位长)以及多字节字符(multibyte character,每个字符可以是一到多个字节不等, ...

  7. C语言—数组,给定如下的数组: char chars[] = { ‘a‘, ‘ ‘, ‘b‘, ‘ ‘, ‘c‘, ‘ ‘, ‘ ‘, ‘d‘ } ;写一个程序将数组中所有的空格字符替换为下划线字符‘

    给定如下的数组:   char chars[] = { 'a', ' ', 'b', ' ', 'c', ' ', ' ', 'd' } ; 写一个程序将数组中所有的空格字符替换为下划线字符'_'. ...

  8. c语言中将整数转换成字符串_在C语言中将ASCII字符串(char [])转换为八进制字符串(char [])...

    c语言中将整数转换成字符串 Given an ASCII string (char[]) and we have to convert it into octal string (char[]) in ...

  9. c语言中将整数转换成字符串_在C语言中将ASCII字符串(char [])转换为十六进制字符串(char [])...

    c语言中将整数转换成字符串 Given an ASCII string (char[]) and we have to convert it into Hexadecimal string (char ...

  10. C语言的变量类型(int、short、char、float...)及变量类型转换详解

    前言 单片机的基本功能是进行数据处理,而数据在进行处理时需要先存放到单片机的存储器中.所以在编写程序时对变量与常量都要先声明数据类型,以便把不同的数据类型定位到嵌入式处理器的不同存储区中. 具有一定格 ...

最新文章

  1. Product Orders(生产订单)状态相关函数BAPI
  2. 星巴克CEO一年赚的还没TikTok网红多???
  3. ylbtech-Unitity-CS:Hello world
  4. iOS-英雄联盟人物展示
  5. HarmonyOS之数据管理·分布式数据服务的应用
  6. IDEA安装和运行HelloWorld
  7. sql 插入text字段包含特殊字符_Kettle(PDI)转换中输出之插入/更新详解
  8. asp.net razor html,从控制台应用程序中的ASP.NET Razor模板生成HTML的当前最佳解决方案是什么?...
  9. linux查看r的安装路径,在Linux CentOS 6.5版上安装R3.1.1的问题(检查LDFLAGS以获取Fortran库的路径)...
  10. python遇到对象_### python面对对象小汇总 #####
  11. leetcode —— 206. 反转链表
  12. PAT1087 All Roads Lead to Rome (30)(最短路径+dfs+回溯)
  13. 关于网络安全检查的问题
  14. pytorch、CUDA、cuDNN下载和环境变量设置
  15. Android APK实现WIFI协议包抓取(上)-实现思路
  16. win10用一会就蓝屏重启_win10蓝屏memory management原因以及解决方法
  17. 努力成为一个有本事,没脾气的程序员
  18. 劳动节 | 耕耘美好,创造不凡
  19. python人工智能入门纳米学位_最近看到udacity的纳米学位很火,号称学完可以找到工作了,这是真的吗?...
  20. 0~9生成随机数4位数

热门文章

  1. 有极值无驻点,有驻点无极值,导数不存在有极值的情况
  2. 畅通无阻的公式:乘员组从几乎破产变成了吸引500万游客的方式
  3. photoshopcs6 安装
  4. js onclick传参对象_js中onClick([object object])的传参问题。跪求!
  5. 分享几段祖传的Python代码,拿来直接使用
  6. 解决cc2015到期后不能再次破解问题,及提供cutterman,Mark Man下载地址
  7. MATLAN图像处理之高频强调滤波(图像增强)
  8. SCRM营销: 关于微信个人号批量运营的干货分享!
  9. 赛码网输入输出整理(Java)
  10. HCIP/HCIE RoutingSwitching / Datacom备考宝典系列(一)OSPF知识点全面总结