您的位置:首页 > 理论基础 > 数据结构算法

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

2016-02-17 18:50 543 查看
Nginx的ngx_str_t字符串结构非常简单和好用。

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

数据结构定义

ngx_str_t 字符串结构

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


ngx_keyval_t 字符串K V结构

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


数据结构图



具体函数实现

初始化一个字符串 ngx_string

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


设置字符串

//将一个字符串设置为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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: