c语言sizeof char,sizeof(char),sizeof(char*),sizeof(char[4]),
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]),相关推荐
- 定义char dog[]=wang\0miao;那么sizeof(dog)与strlen(dog)分别是多少:
定义char dog[]="wang\0miao";那么sizeof(dog)与strlen(dog)分别是多少: 正确答案: A 你的答案: 空 (错误) 10,4 4,4 ...
- 【C语言】算数操作符 移位操作符 以及 sizeof单目操作符讲解
目录 1.算术操作符 2. 移位操作符 2.1 左移操作符 2.2 右移操作符 3.sizeof 单目操作符介绍 操作符介绍: C语言操作符分为: 算术操作符 移位操作符 位操作符 赋值操作符 单目操 ...
- c语言char数字转int补位,关于char强制转换成int到底是用0还是用1补位的猜想与检验...
关于char强制转换成int到底是用0还是用1补位的猜想与检验 最近学C语言发现char强制转换时值会完全不同,而且变化很大,于是决定写代码测试一下. 先检验一下char型的-3和3在内存中分别怎么表 ...
- 如何求C语言字符串长度(strlen函数和sizeof关键字)
如何求C语言字符串长度(strlen函数和sizeof关键字) 在程序里,一般会用***strlen()***函数或***sizeof()***来获取一个字符串的长度,但这2种方法获取的字符串的长度其 ...
- sizeof 在C语言的作用,C语言中的sizeof的用法详解
C语言中的sizeof的用法详解 一.sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.它并不是函数.sizeof操作符以字节形式给出了其操作数的存储大小.操 ...
- c语言wchar转化为char_linux 下 wchar_t和char的相互转化
C95标准化了两种表示大型字符集的方法:宽字符(wide character,该字符集内每个字符使用相同的位长)以及多字节字符(multibyte character,每个字符可以是一到多个字节不等, ...
- C语言—数组,给定如下的数组: char chars[] = { ‘a‘, ‘ ‘, ‘b‘, ‘ ‘, ‘c‘, ‘ ‘, ‘ ‘, ‘d‘ } ;写一个程序将数组中所有的空格字符替换为下划线字符‘
给定如下的数组: char chars[] = { 'a', ' ', 'b', ' ', 'c', ' ', ' ', 'd' } ; 写一个程序将数组中所有的空格字符替换为下划线字符'_'. ...
- c语言中将整数转换成字符串_在C语言中将ASCII字符串(char [])转换为八进制字符串(char [])...
c语言中将整数转换成字符串 Given an ASCII string (char[]) and we have to convert it into octal string (char[]) in ...
- c语言中将整数转换成字符串_在C语言中将ASCII字符串(char [])转换为十六进制字符串(char [])...
c语言中将整数转换成字符串 Given an ASCII string (char[]) and we have to convert it into Hexadecimal string (char ...
- C语言的变量类型(int、short、char、float...)及变量类型转换详解
前言 单片机的基本功能是进行数据处理,而数据在进行处理时需要先存放到单片机的存储器中.所以在编写程序时对变量与常量都要先声明数据类型,以便把不同的数据类型定位到嵌入式处理器的不同存储区中. 具有一定格 ...
最新文章
- Product Orders(生产订单)状态相关函数BAPI
- 星巴克CEO一年赚的还没TikTok网红多???
- ylbtech-Unitity-CS:Hello world
- iOS-英雄联盟人物展示
- HarmonyOS之数据管理·分布式数据服务的应用
- IDEA安装和运行HelloWorld
- sql 插入text字段包含特殊字符_Kettle(PDI)转换中输出之插入/更新详解
- asp.net razor html,从控制台应用程序中的ASP.NET Razor模板生成HTML的当前最佳解决方案是什么?...
- linux查看r的安装路径,在Linux CentOS 6.5版上安装R3.1.1的问题(检查LDFLAGS以获取Fortran库的路径)...
- python遇到对象_### python面对对象小汇总 #####
- leetcode —— 206. 反转链表
- PAT1087 All Roads Lead to Rome (30)(最短路径+dfs+回溯)
- 关于网络安全检查的问题
- pytorch、CUDA、cuDNN下载和环境变量设置
- Android APK实现WIFI协议包抓取(上)-实现思路
- win10用一会就蓝屏重启_win10蓝屏memory management原因以及解决方法
- 努力成为一个有本事,没脾气的程序员
- 劳动节 | 耕耘美好,创造不凡
- python人工智能入门纳米学位_最近看到udacity的纳米学位很火,号称学完可以找到工作了,这是真的吗?...
- 0~9生成随机数4位数
热门文章
- 有极值无驻点,有驻点无极值,导数不存在有极值的情况
- 畅通无阻的公式:乘员组从几乎破产变成了吸引500万游客的方式
- photoshopcs6 安装
- js onclick传参对象_js中onClick([object object])的传参问题。跪求!
- 分享几段祖传的Python代码,拿来直接使用
- 解决cc2015到期后不能再次破解问题,及提供cutterman,Mark Man下载地址
- MATLAN图像处理之高频强调滤波(图像增强)
- SCRM营销: 关于微信个人号批量运营的干货分享!
- 赛码网输入输出整理(Java)
- HCIP/HCIE RoutingSwitching / Datacom备考宝典系列(一)OSPF知识点全面总结