标题:结构指针问题,请教如下为何没有内容输出?
只看楼主
julinomber2
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-7-15
 问题点数:0 回复次数:4 
结构指针问题,请教如下为何没有内容输出?
#include <stdio.h>

typedef struct {
    float x, y;
} VecR;

VecR *p;

int main() {
    int n;
    for(n=0; n<10;n++) {
        p[n].x = 1.;
        p[n].y = 2.;
    }
    printf("%f",p[0].x);
    return 0;
}
搜索更多相关主题的帖子: 指针 内容 结构 int 输出 
2022-11-20 17:22
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
是这样,您使用野指针,就相当于
您印了张名片声称您的地址就是某家银行,然后您就开始访问银行的金库
于是,银行没给您机会

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2022-11-20 17:44
julinomber2
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-7-15
得分:0 
哦 是这么回事啊  非常感谢!!  因为我是想声明一个不确定长度的结构体,所以这么用了。   那有没有办法设计一个不定长度的结构体?
2022-11-20 17:50
不会游泳的虾
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:101
专家分:643
注 册:2021-7-1
得分:0 
回复 3楼 julinomber2
C用于存储空间动态分配的函数 malloc()、realloc()可以实现你的需求。
2022-11-21 09:30
好好刷题
Rank: 2
等 级:论坛游民
帖 子:20
专家分:51
注 册:2022-12-4
得分:0 
#include <stdio.h>
#include <stdlib.h>

#define MAXLEN 10

typedef struct {
    float x, y;
} VecR;

int main() {
    VecR *p = (VecR *)malloc(sizeof(VecR)*MAXLEN);
    if(!p) return 1;
   
    int n;
    for(n=0; n<MAXLEN;n++) {
        p[n].x = 1.;
        p[n].y = 2.;
    }
    printf("%f",p[0].x);
   
    return 0;
}
2022-12-04 22:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-510708-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.320231 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved