我正在研究一些 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]是什么意思?如果它不是数组,那么这些索引的含义是什么?
最佳答案
如果指针 ptr
指向一组连续的对象,则 ptr[i]
将引用对象的第 i+1
个元素该组就像 ptr
是一个数组一样。 tm->transitions
和 tm->transitions[i]
可能就是这种情况。
关于c - 将索引放在指针后面的 [] 括号内是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57316573/