/**************************************************************************
* @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[]时的一个小技巧
最新推荐文章于 2026-03-12 00:49:11 发布
本文介绍了一个在C++中使用数组时的小技巧,包括如何遍历结构体数组、字符数组及指针数组,并展示了如何通过偏移指针来访问数组元素。

963

被折叠的 条评论
为什么被折叠?



