C for ios --- 类型说明符

iOS开发——c语言——scanf函数详细讲解 scanf的使用详解 1、简介 scanf函数是标准的格式化输入函数,也就是从标准输入设备(键盘) 读取输入的信息。在stdio.h中声明,因此要使用scanf函数,必须加入 #import 。使用scanf时候时,需要传入变量地址作为参数,且scanf函数会等待标准输入设备(键盘)输入数据,并将输入的数据赋值给变量地址对应的变量。且返回成功赋值的数据项,如果遇到错误或遇到en 阅读详情

类型说明符

1.类型说明符基本概念

  • C语言提供了以下4种说明符,4个都属于关键字:
    • short 短型 等价于 short int
    • long 长型 等价于 long int
    • long long:在64位编译器下没有区别,如果在32位编译器下,long占用4个字节,longlong占用8个字节
    • signed 有符号型
    • unsigned 无符号型
  • 这些说明符一般就是用来修饰int类型的,所以在使用时可以省略int
    • long int —> long
    • long long int —> long long

输出标识符

  • c语言的特性:不看怎么存,就看怎么取
  • 用%li 或者 %ld来进行输出

+

2.short和long

  • short和long可以提供不同长度的整型数,也就是可以改变整型数的取值范围。

    • 在64bit编译器环境下,int占用4个字节(32bit),取值范围是-2^31\~2^31-1;
    • short占用2个字节(16bit),取值范围是-2^15\~2^15-1;
    • long占用8个字节(64bit),取值范围是-2^63\~2^63-1
  • 总结一下:在64位编译器环境下:

    • short占2个字节(16位)
    • int占4个字节(32位)
    • long占8个字节(64位)。
    • 因此,如果使用的整数不是很大的话,可以使用short代替int,这样的话,更节省内存开销。
  • 世界上的编译器林林总总,不同编译器环境下,int、short、long的取值范围和占用的长度又是不一样的。比如在16bit编译器环境下,long只占用4个字节。不过幸运的是,ANSI \ ISO制定了以下规则:

    • short跟int至少为16位(2字节)
    • long至少为32位(4字节)
    • short的长度不能大于int,int的长度不能大于long
    • char一定为为8位(1字节),毕竟char是我们编程能用的最小数据类型
  • 可以连续使用2个long,也就是long long。一般来说,long long的范围是不小于long的,比如在32bit编译器环境下,long long占用8个字节,long占用4个字节。不过在64bit编译器环境下,long long跟long是一样的,都占用8个字节。

    • long long int等价于long long

3.signed和unsigned

  • 首先要明确的:signed int等价于signed,unsigned int等价于unsigned

  • signed和unsigned的区别就是它们的最高位是否要当做符号位,并不会像short和long那样改变数据的长度,即所占的字节数。

    • signed:表示有符号,也就是说最高位要当做符号位,所以包括正数、负数和0。其实int的最高位本来就是符号位,已经包括了正负数和0了,因此signed和int是一样的,signed等价于signed int,也等价于int。signed的取值范围是-2^31 \~ 2^31 - 1
    • unsigned:表示无符号,也就是说最高位并不当做符号位,所 以不包括负数。在64bit编译器环境下面,int占用4个字节(32bit),因此unsigned的取值范围是:0000 0000 0000 0000 0000 0000 0000 0000 \~ 1111 1111 1111 1111 1111 1111 1111 1111,也就是0 \~ 2^32 - 1,也就是说使用unsigned修饰的变量,不把二进制的最高位作为符号位
    • 如果要打印无符号的变量,只能用%u

OC中的格式说明符(Format Specifiers) 在 Objective-C 中,%@%d这类符号是格式说明符,用于在NSLog等方法中指定数据的输出格式。 阅读详情

相关推荐

xilinx zynq-7000 linux下rs422串口通信测试步骤

这几天使用xilinx的zynq-7000系列调试rs422串口,期间遇到不少问题,好在最终调试完成,在这里记录一下调试步骤。 我用的soc型号是xc7z100,板载了2个rs422外设,PS端有2个uart控制器,uart0用于连接rs232并作为console控制台输出,uart1连接rs422。 rs422和主板连线原理图如下: 其中422_TXD1_3V3 和422_RXD1_3V3 为数据发送和接收引脚,422_TXD_DE1_3V3为发送使能引脚,422_RXD_REn1_...

dongyunke的博客 5907

C++中typedef用法说明

typedef声明提供了一种将标识符声明为类型别名的方法,用于替换复杂的类型名。 解释 在声明中使用typedef说明符时,会指定这个声明是typedef声明,而不是变量或函数声明。通常,typedef说明符出现在声明的开头,但允许它出现在类型说明符之后,或者出现在两个类型说明符之间。 typedef声明可以在同一行上声明一个或多个标识符(例如int和指向int的指针),它可以声明数组和函数类型、指针和引用、类类型等。此声明中引入的每个标识符都成为typedef名称,只是省略了typedef。 typed

kking_edc的博客 6283

巨某量引擎后台登录实战笔记 | Playwright自动化框架

自动化框架、Playwright、滑块、巨某量引擎、抖某音系

什么都会一点。 2077

【C语言】结构体定义 typedef struct 用法详解和用法小结

结构体定义 typedef struct 用法详解和用法小结 文章目录结构体定义 typedef struct 用法详解和用法小结0. 前言1. 首先:在C中定义一个结构体类型要用typedef:2. 其次:在c++中如果用typedef的话,又会造成区别:3. 掌握上面两条就可以了,不过最后我们探讨个没多大关系的问题4. C/C++中typedef struct和struct的用法5. 问答6. 用法小结 0. 前言 typedef是类型定义的意思。 typedef struct 是为了使用这个结构体方

weixin_44948467的博客 4万+

M1安装homebrew报错LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54解决方法

在mac系统中,使用homebrew可以很方便的管理包。但按照官网的说明执行命令时总是报错原因是这个资源访问有问题,那么我们可以直接使用国内的镜像。给大家推荐一个中国科学技术大学的镜像站点,里面有各种资源https言归正传,开始踩坑。......

qq_42427085的博客 1455

Scratch(四十一):升级版垃圾分类

哈喽,大家好!之前给大家展示过“Scratch(二十四):垃圾分类”。今天呢,给大家展示的Scratch是`升级版垃圾分类`。接下来,我们一起看一下效果吧。

我可以很大侠的博客 6866

类型说明符

1.说明长度 可以改变类型占用存储空间大小,一般情况下配合int使用 short == short int 使用 %hi或者%hd 格式化输出 占用2个字节,取值范围 -2(15) ~ 2(15) -1 long == long int 使用 %li或者%ld 格式化输出 32位编译器占用2个字节,取值范围 -2(15) ~ 2(15) -1 64位编译器占用4个字节,取值范围 -2...

张聪的博客 5617

《Python基础教程》内容总览篇(持续更新中)

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为优快云博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。个人精心开设的《Python基础课程》专栏订阅量接近900,帮助不少同学解决了Bug。

weixin_43178406的博客 35万+

C++ 使用new(std::nothrow)时提示应输入类型说明符或语法错误: 标识符“nothrow”

预处理指令将new取消定义以便再次声明。添加头文件new,并使用。

Evilloafer的博客 1901

RAGFlow升级指南(纯小白都看得懂)

升级背景:RAGFlow项目原来的版本是0.17.0版本,在使用过程中,发现当知识库检索为空的时候并且使用到rerank模型的时候,就会输出错误的信息;为了解决这个版本问题,特意升级到最新的版本0.17.2(截止2025-3-14时最新版本就是0.17.2了)官方升级文档https://ragflow.io/docs/dev/upgrade_ragflow官方文档对小白还是不太友好,作者也是捣鼓了十多分钟,特出下面的升级指南前提:旧版本的RAGFlow项目是启动好了的1.在ragflow目录下执行(拉取最新

Ven%的博客 3596

今日头条面试——iOS开发面试题

layoutIfNeeded和setNeedsLayout的区别。* Pod update和pod install的区别。* 10、autoreleasepool的使用场景。* 如何hook一个对象的方法,而不影响其它对象。* 数组cop后里面的元素会复制一份新的吗。* 介绍项目,主要介绍自己强项一点的地方。* assing可以使用在对象中吗。* isEquel和hash的关系。* 4、谈谈runtime的理解。* 8、谈谈runloop的理解。* copy和strong的区别。

FPGA/MATLAB学习教程/源码/项目合作开发 593

【iOS】Blocks学习

浅浅进行Blocks学习

2301_79847748的博客 1919

42、InfiniBand技术详解:QP状态机、操作及错误处理

本文深入解析InfiniBand技术中的核心组件QP(Queue Pair)状态机、工作请求处理机制、支持的操作类型及错误处理策略。详细介绍了QP的创建与状态转换流程,包括INIT、RTR、RTS等关键状态,并提供了状态修改的代码示例。文章还探讨了工作请求的发布、资源使用限制、围栏机制以及重试和RNR流程,帮助开发者理解通信可靠性保障机制。此外,涵盖了多播组的应用场景与API使用方法,并对比了用户空间与内核级RDMA API的调用差异,最后给出了实践建议和常见问题解答,为构建高性能分布式系统提供技术指导。

oauth7security的博客 131

【iOS】——Blocks

Blocks是C语言的扩充功能,并且可以用一句话来表示Blocks的扩充功能:Blocks是带有自动变量(局部变量)的匿名函数。匿名函数:Blocks是一种匿名函数,也就是没有特定名称的函数。它们可以在需要的地方定义和使用,而无需提前声明或命名。这使得Blocks非常灵活,可以作为参数传递给其他函数或方法,或者作为变量保存和执行。自动变量(局部变量):Blocks可以捕获其定义范围内的自动变量(也称为局部变量)。当一个Block被定义时,它会在其内部创建一个副本,用于在Block执行时访问该变量的值。

m0_73974920的博客 1709

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C/C++:类型别名(typedef、using)、类型说明符(auto、decltype)

一、类型别名 1、typedef (1)定义普通类型 #include <iostream> using namespace std; typedef unsigned char u8, *u8p; int main() { u8 c = 'c'; // unsigned char u8p pc = &c; // unsigne...

weixin_41565755的博客 1090

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【iOS】Blocks

先前看了小蓝书上的block,发现不甚了解,现重新学习blockBlocks 是 C 语 言 的 扩 充 功 能。可 以 用 一 句 话 来 表 示 Blocks 的 扩 充 功 能 :带 有 自 动 变 量 (局 部变量)的匿名函数。我们把这句话拆分开来理解自动变量也就是局部变量匿名函数即不带名称的函数。

weixin_72437555的博客 1516

李洪强iOS开发之【零基础学习iOS开发】【02-C语言】07-基本数据类型

C语言有丰富的数据类型,因此它很适合用来编写数据库,如DB2、Oracle等大型数据库都是C语言写的。其中,提供了4种最常用的基本数据类型:char、int、float、double,使用这些数据类型,我们就可以定义相应的变量来存储数据。这讲就来深入研究一下基本数据类型的一些使用细节。 一、取值范围 我们已经知道,不同数据类型所占的存储空间是不一样的。比如在64bit编译器环境下,c...

a359798678的博客 165

系列:iOS开发-C语言基础

系列:iOS开发-C语言基础之前也说了iOS中的OC是扩充C的面向对象编程语言 那么无论是从什么角度来说都要首先回顾一下C的内容,虽然很多人在大学的时候都有学习过C语言,一提到谭浩强,我估计90%的人都熟悉,至于为什么,我也不知道... 首先科普一下C部分的介绍:C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行

spicyShrimp的博客 1075

iOS-基础-数据类型

oc数据类型 数据类型:基本数据类型、指针数据类型 基本数据类型:数值型、字符型(char)、布尔型、空类型(void) 指针数据类型:类(class)、id 数值型:整数类型int、浮点型float、double c和oc的基本数据类型 int:声明整型变量 double:声明双精度变量 float:声明浮点型变量 char:声明字符型变量 id:通用的指针类型 enum:声明枚举类型 long:声明长整型变量或函数 short:声明短整型变量或函数 signed:声明有符号类型变量 struct:声明结

icewst的专栏 952

c语言不通类型指针转换,C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)...

强制类型转换形式:(类型说明符) (表达式)举例说明:1) int a;a = (int)1.9;2)char *b;int *p;p = (int *) b; //将b的值强制转换为指向整型数据的指针类型,后赋给p注示:类型说明符和表达式都必须加括号,表达式为单个变量可不加括号。总结:只要看到(类型说明符) (表达式) 的一定为强制类型转换;如(int *) 0x0022;再举一例:#defin...

weixin_28704675的博客 478

iOS开发——Blocks

Blocks什么是Blocks 什么是Blocks Blocks是C语言的扩充功能。可以用一句话来表示Blocks的扩充功能:带有自动变量(局部变量)的匿名函数。 按理说,C语言的标准不允许存在这样的函数。匿名函数就是不带函数名称的函数,那么带有自动变量是什么意思呢?Blocks提供了类似由C++和OC类生成实例或对象来保持变量值的方法。如“带有自动变量值”,Blocks保持自动变量的值。同时Blocks也被称作闭包、lambda计算。OC的Block在其他程序语言中的名称如图所示: ...

weixin_51638861的博客 2502

ios从入门到放弃之C基础巩固-----函数、进制转换、位运算、变量内存存储原理、类型说明符...

距离上一次https://www.cnblogs.com/webor2006/p/13745410.htmlios的学习又过去大半年了,真的就是要放弃的节奏,这样的节奏可能再学个几年也不一定能学会,木关系,反正我目前不靠它维持生计,人生漫漫,学到天荒地老都是可以的~~把它当一种兴趣学到哪算哪,不轻易言败,不过关于C语言的巩固这里会加快一下,只复习自己不太熟悉的知识点,不然老是停留在这上面走不出也...

webor2006的博客 313

黑马程序员——C语言学习——流程控制、函数、进制、变量的内存分析、类型说明符、位运算

-————————————————Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-———————————————— 一、流程控制 顺序结构:默认的流程结构。一步步往下走 选择结构:对给定的条件进行判断,条件成立,执行语句1,条件不成立执行语句2 循环结构:在给定条件下反复执行某一段代码 1、选择结构 1-> if语句 if语句的格式

dimost的专栏 659

iOS编程之C语言数据类型常量变量

1.C语言中的数据类型 1.1C语言包含四种数据类型: 基本类型:整型(短整形short、整型 int、长整型 long)、浮点型(单精度型 float、双精度型 double) 构造类型:数组、结构体 struct、共用体 union...

chiliaoquan8687的博客 152

《iOS高级编程》中的Block:概要规范篇

文章目录关于我的仓库前言准备工作Blocks概要疑惑: p.81 buttonIdBlock语法与一般C语言函数不同点:格式标准格式省略格式block变量截获自动变量__block说明符截获的自动变量 关于我的仓库 这篇文章是我为面试准备的iOS基础知识学习中的一篇 我将准备面试中找到的所有学习资料,写的Demo,写的博客都放在了这个仓库里iOS-Engineer-Interview 欢迎sta...

KevinAshen的博客 485
上一篇: C for ios --- char 类型
下一篇: C for ios --- 数组
ProbuINg
博客等级 码龄14年 10粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值