Nginx源码分析 - 基础数据结构篇 - 字符串结构 ngx_string.c(08)

目录

一、数据结构定义

1. ngx_str_t 字符串结构

2. ngx_keyval_t 字符串K V结构

一、数据结构图

三、具体函数实现

1. 初始化一个字符串 ngx_string

2. 设置字符串


Nginx的ngx_str_t字符串结构非常简单和好用。

nxg_string.c文件中包含了很多常用的字符串操作方法,具体我们就不讲解了,主要简单来看下Nginx的字符串数据结构

一、数据结构定义


1. ngx_str_t 字符串结构


/**
 * 字符串结构
 */
typedef struct {
    size_t      len; //字符串长度
    u_char     *data; //具体的指针地址
} ngx_str_t;

2. ngx_keyval_t 字符串K V结构


/**
 * 字符串的K V结构
 */
typedef struct {
    ngx_str_t   key;
    ngx_str_t   value;
} ngx_keyval_t;

一、数据结构图


 

三、具体函数实现


1. 初始化一个字符串 ngx_string


//初始化一个字符串
#define ngx_string(str)     { sizeof(str) - 1, (u_char *) str }

2. 设置字符串


//将一个字符串设置为NULL
#define ngx_null_string     { 0, NULL }
//设置一个字符串
#define ngx_str_set(str, text)                                               \
    (str)->len = sizeof(text) - 1; (str)->data = (u_char *) text
#define ngx_str_null(str)   (str)->len = 0; (str)->data = NULL

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值