跟着Redis学编程系列:把一个字符串转换为有符号长整型

前言

作为C语言基础,在面试的时候,经常会被要求实现数值到字符串、或者字符串到数值的转换函数。虽然难度不大,但是很容易在一些细节上出现纰漏。刚好最近在深度分析Redis7.0源代码。闲暇之余,顺带把这部分代码摘录出来,进行分析、注解。
作为一个学习记录的同时也方便后来者快速了解Redis内部是如何实现的。日后面试也许能用的上。

Redis实现方式

代码片段注释


int string2ll(const char *s, size_t slen, long long *value) {
   
   
    const char *p = s; //指向s开始位置
    size_t plen = 0;   //
    int negative = 0;  //负数
    unsigned long long v;

    /* 如果传递表示字符串长度参数为0,则无需转换,直接返回 0 */
    if (plen == slen)
        return 0;

    /* 特殊情况, 只有一个字符,并且是0字母 */
    if (slen == 1 && p[0] == 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值