首页 > 解决方案 > 将索引放在指针后面的 [] 括号内是什么意思?

问题描述

我正在研究一些 C 代码只是为了理解,我发现了一个在 [] 之间有索引的指针,就像它是一个数组(如“pointer[i]”);我不明白这是什么意思或它是如何工作的

这是我找到它的一段代码:

struct turing_machine_t{
    struct linked_list_t*** transitions;
    bool* acceptors;
    unsigned int max_steps;
    unsigned int num_states;
};

void delete_turing_machine(struct turing_machine_t* tm){ 
    int i,j;
    for(i = 0; i < tm->num_states; i++){
        if(tm->transitions[i] != NULL){
            for(j = 0; j < ALPHABET_SIZE; j++){
                struct linked_list_t* tl = tm->transitions[i][j];

                //after here there are just some free

它来自图灵机模拟器,但这并不重要;如果我是正确的,transition 是一个三重指针,但它是什么意思 transition[i] 和 transition[i][j]?如果它不是一个数组,这些索引的含义是什么?

标签: cpointers

解决方案


如果指针ptr指向一组连续的对象,那么ptr[i]将引用i+1该组的第 th 个元素,就像它ptr是一个数组一样。tm->transitions和可能就是这种情况tm->transitions[i]


推荐阅读