/**************************************************************************
* @Copyright (c) 2013, ChenMH, All rights reserved.
* @file : main.cpp
* @version : ver 1.0
* @author : ChenMH
* @date : 2013/06/14 16:45
* @brief : 使有array[]时的一个小技巧
**************************************************************************/
#include <cstdio>
#include <QDebug>
#define TRACE qDebug
//数据结构
struct TokenDict
{
char* token;
int value;
};
//初始化表
static TokenDict dict[] = {
{"t1", 1},
{"t2", 2},
{"t3", 3},
{0, 0} //*尾部加零,可以使用指针来判断是否已到达表尾
};
int main(int args, char** argv)
{
//获取数组首地址
TokenDict* pDt = dict;
//通过偏移指针取出数组中的值
for(;pDt->token;pDt++)
{
char* temp = pDt->token;
TRACE("[%s], [%d]", pDt->token, pDt->value);
}
//字符数组(呵呵 这个输出和你的预期相同吗?)
static char arr_c[] = {'1', '2', '3', '4', 0};
char* pAC = arr_c;
for(;*pAC;pAC++)
{
TRACE("%s", pAC);
}
//指针数组
static char* arr_s[] = {"t1","t2", "t3", 0};
char** pAS = arr_s;
for(; *pAS; pAS++)
{
TRACE("%s", pAS);
}
return 0;
}
使有array[]时的一个小技巧
最新推荐文章于 2024-06-09 13:09:48 发布