找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1406|回复: 4
打印 上一主题 下一主题
收起左侧

C语言结构体指针问题分析

[复制链接]
跳转到指定楼层
楼主
ID:196216 发表于 2021-3-9 17:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定义一个结构体struct SITE_A{
    int x;
    int y;
};
在定义一个结构体指针
struct SITE_A  *watchsite;
假设在别处结构体内两个元素x,y均已被赋值。
此时有没有一种写法可以用一个普通的int *p指向watchsite指针中的x元素。也就是指向watchsite.x。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:592807 发表于 2021-3-10 08:28 | 只看该作者
了解一下extern关键字,这个关键可可以让你在其他c文件里面改全局变量的值。
回复

使用道具 举报

板凳
ID:196216 发表于 2021-3-10 14:14 | 只看该作者
黄youhui 发表于 2021-3-10 08:28
了解一下extern关键字,这个关键可可以让你在其他c文件里面改全局变量的值。

不是全部全局变量的问题,实际遇到的问题是一个函数的入参是普通的指针,可我想输入的参数是结构体内的元素,除了用数组缓冲过度,有没有更好的方法。。不去修改函数的话
回复

使用道具 举报

地板
ID:367369 发表于 2021-3-10 14:19 | 只看该作者
直接指就可以了啊,
这是我在VS中写的几行代码试了一下
#include <stdio.h>
#include "stdlib.h"
typedef struct ab{
        int a;
        int b;
}AB;
int main()
{       
        AB p1 = {1,2};       
        AB* p2;
        p2= &p1;
        int *p;
        p = &p2->a;
        printf("%d\n",*p);
        system("pause");
        return 0;
}
回复

使用道具 举报

5#
ID:196216 发表于 2021-3-10 16:07 | 只看该作者
game灬boy 发表于 2021-3-10 14:19
直接指就可以了啊,
这是我在VS中写的几行代码试了一下
#include

学到了,学到了。。。感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表