c error: ‘*scan’ is a pointer; did you mean to use ‘->’?

此错误容易出现在**指针访问时,解决方法是使用()括起来,原因主要是类型不匹配。

#include <stdio.h>

#include <stdlib.h>

struct ac{

int data;

struct ac *next;

};

void address(struct ac *p)

{

struct ac *next, **scan;

struct ac pa;

pa.data = 10;

pa.next = &pa;

next = p->next;

scan = &p->next;

printf("pa = %p\n", &pa);

printf("pa.a = %p\n", &pa.data);

printf("pa.next = %p\n\n", &pa.next);

printf("next = %p\n", next); // 一级指针指向地址 p->next

printf("scan = %p\n", scan); // 一级指针地址 &p->next

printf("*scan = %p\n\n", *scan); // 一级指针指向地址 p->next

printf("p->next = %p\n", p->next); // 一级指针指向地址 p->next

printf("p->next->next = %p\n", p->next->next); // 一级指针指向地址 p->next->next

printf("p->next->next->next = %p\n\n", p->next->next->next); // 一级指针指向地址 p->next->next->next

printf("&p->next->next = %p\n", &p->next->next); // 一级指针地址

printf("&(p->next)->next = %p\n", &(p->next)->next); // 一级指针地址

printf("&(p->next->next) = %p\n\n", &(p->next->next)); // 一级指针地址

printf("(*scan)->next = %p\n\n", (*scan)->next); // 一级指针指向地址 p->next->next
//printf("*scan->next = %p\n", *scan->next); // error: '*scan' is a pointer; did you mean to use '->'?
//printf("scan->next = %p\n", scan->next); // error: '*scan' is a pointer; did you mean to use '->'?

if ((*scan)->next == next) {

printf("ditto\n\n");

}

p->next->next = &pa;

printf("next = %p\n", next); // 一级指针指向地址 p->next

printf("scan = %p\n", scan); // 一级指针地址 &p->next

printf("*scan = %p\n", *scan); // 一级指针指向地址 p->next

printf("(*scan)->next = %p\n", (*scan)->next); // 一级指针指向地址 p->next->next

//printf("*scan->next = %p\n", *scan->next); // error: '*scan' is a pointer; did you mean to use '->'?

printf("p->next->next = %p\n", p->next->next); // 一级指针指向地址 p->next->next

}

int main()

{

struct ac p;

p.data = 10;

p.next = &p;

printf("p = %p\n", &p);

printf("p.a = %p\n", &p.data);

printf("p.next = %p\n\n", &p.next);

address(&p);

return 0;

}

相关推荐
John.Lewis26 分钟前
数据结构初阶(19)外排序·文件归并排序的实现
c语言·数据结构·排序算法
John.Lewis31 分钟前
数据结构初阶(16)排序算法——归并排序
c语言·数据结构·排序算法
wearegogog1231 小时前
C语言中的输入输出函数:构建程序交互的基石
c语言·开发语言·交互
艾莉丝努力练剑13 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
Cx330❀15 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
..过云雨16 小时前
01.【数据结构-C语言】数据结构概念&算法效率(时间复杂度和空间复杂度)
c语言·数据结构·笔记·学习
谱写秋天18 小时前
在STM32F103上进行FreeRTOS移植和配置(STM32CubeIDE)
c语言·stm32·单片机·freertos
我不是板神18 小时前
程序设计|C语言教学——C语言基础2:计算与控制语句
c语言
基于python的毕设18 小时前
C语言栈的实现
linux·c语言·ubuntu
promising-w1 天前
【嵌入式C语言】六
c语言·开发语言