【发布时间】:2019-08-01 20:29:09
【问题描述】:
我正在研究一些 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]?如果不是数组,这些索引是什么意思?
【问题讨论】:
-
在网上搜索“指针算法”
-
以下都是等价的:
a[b]、b[a]、*(a+b)。a或b之一应具有指针或数组类型,而另一个应具有整数类型。实际使用a[b]时,a一般为指针或数组类型,b为整数类型,但如果想迷惑大家可以颠倒过来。 -
您可能会喜欢comp.lang.c faq,尤其是第 6 节。