c - 将索引放在指针后面的 [] 括号内是什么意思?
问题描述
我正在研究一些 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
该组的第 th 个元素,就像它ptr
是一个数组一样。tm->transitions
和可能就是这种情况tm->transitions[i]
。
推荐阅读
- php - php : 函数 require_once() 路径不起作用
- java - setText() 和 setProgress() 未在 ViewPager 中更新
- rabbitmq - RabbitMQ 如何在集群中优化发布/消费消息?
- xmpp - 为什么使用 XMPP 时出现“连接因错误而关闭”
- python - 测试集是否用于更新具有 keras 的深度学习模型中的权重?
- unity3d - Unity - 使用全景 Skybox 在 Web 上提供 360 度视频
- docker - 私人码头注册:在等待连接时取消请求。从服务器注册
- c# - 在匿名方法中获取匿名对象的值
- java - 通过后台删除 hybris 中的动态属性
- c# - 使粒子到达某个位置后消失