C 语言常见类型转换以及typedef为类型定义别名

0、typedef (C语言的关键字)

使用typedef为现有类型创建别名,定义易于记忆的类型名

如 将 unsigned char 定义别名为 U8
将 unsigned long long 定义别名为 U64

typedef unsigned char U8;        1字节       %d 输出    无符号char字符类型
typedef unsigned short U16;      2字节       %d 输出    无符号short短整数类型
typedef unsigned int U32;        4字节       %u 输出    无符号int类型
typedef unsigned long long U64;  8字节       %llu 输出  无符号long long长整型类型

signed int = int (int默认有符号) %d 有符号十进制输出
unsigned int 无符号int 非负整数 %u 无符号十进制输出

1、重点介绍

(1)、long

long: 长整型, 是long int 的简写. 格式化字符输出:%ld
每个long占4个字节,在32位编译系统下,long 和 int 占的空间是相同的,取值范围-2^31~(2^31-1)
unsigned long: 无符号长整型, 格式化字符输出:%lu, 取值范围 0 ~ 2^32-1
long long类型: 表示C语言目前最长的系统整型类型,占8字节,64位。格式化字符%lld

(2)、sprintf (不是C语言类型)

sprintf 指的是字符串格式化命令
函数声明为

int sprintf(char *string, char *format [,argument,...]);

主要功能是把格式化的数据写入某个字符串中,即发送格式化输出到 string 所指向的字符串。sprintf 是个变参函数。

代码:

char str_0404[40];
int num = 7
sprintf(str_0404, "/normalTest/a%d", num);

结果:

所以str_0404 就是 /normalTest/a7

2、类型转换

(1)、char -> int

代码:

void Test01_char_to_int()
{
   
        char str01[] = "306";
        /*求字符串长度*/
        int length = strlen(str01);
        printf("length=%d\n",length);

        int i = 0;
        int num = 0;
        int m = 0;
        /* 把字符转换为数字。  字符 '0' 对应的ASCII是48 */
        printf("str01[0]=%d\n",str01[0] 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值