结构体后面变量名列表处不能为指针?

结构体后面变量名列表处不能为指针?

#include <stdio.h>
#include <string.h>

struct worker
{
    char name[20];
    int age;
    double offer;
    int id;
}*wk_addr;

int main()
{
    wk_addr->age = 32;
    printf("worker age: %d\n", wk_addr->age);

    strcpy(wk_addr->name, "Henry");
    printf("worker name: %s\n", wk_addr->name);
    return 0;
}

老师,这里直接初始化指针变量怎么不好用啊?

https://img1.sycdn.imooc.com//climg/64cfaddc09bd53f514610539.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
大白老师 2023-08-07 12:07:50
struct woker st;
work_addr = &st;
类似这样的用法
  • 提问者 万能小企鹅 #1

    老师,如果我把图中的声明指针那里改成普通变量,那程序是跑的通的,但是如果按照课程里面说变量改成指针,则这个程序是跑不,如果直接在结构体后面声明,而不是在main函数中声明要怎么做?

    2023-08-07 13:16:07
大白老师 2023-08-07 12:06:54
可以定义为指针,但是指针还是要保存有限的内存地址才能使用!
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师