zoukankan      html  css  js  c++  java
  • 可变长度结构体

    //
    // Created by liu on 2020/10/7.
    //
    
    #include <stdint.h>
    #include <stdlib.h>
    #include <string.h>
    #include <stdio.h>struct Node {
        int id;
        int *data;
    };
    
    #define case1
    
    int main() {
    
    #ifdef   case1
        int DataSize = 10;
        struct Node node;
        node.data = (int *) malloc(sizeof(int) * DataSize);
        node.data[0] = 1;
        node.data[1] = 5;
        for (int i = 0; i < 10; i++) {
            printf("node.data[%d]:%d
    ", i, node.data[i]);
        }
    #endif
    
    #ifdef case2
        int DataSize  = 10;
        int data[DataSize];
        struct Node  node;
        node.data = data;
        node.data[0] = 10;
        node.data[1] = 50;
        for (int i = 0; i < DataSize; i++) {
            printf("node.data[%d]:%d
    ",i ,node.data[i]);
        }
    
    #endif
    
    #ifdef case3
        int DataSize  = 10;
        struct Node * node =  (struct Node *)malloc(sizeof(struct Node) + DataSize);
        node->data = node + sizeof(struct Node);
        node->data[0] = 100;
        node->data[1] = 500;
        for (int i = 0; i < DataSize; i++) {
            printf("node.data[%d]:%d
    ",i ,node->data[i]);
        }
    #endif
    
    
        return 0;
    }
  • 相关阅读:
    华师菜鸟杯2020
    「算法」排序
    生成函数
    多项式乘法逆
    多项式牛顿迭代
    「数学」快速幂
    「算法」贪心
    「组合数学」一:什么是组合数学
    「具体数学」三:整值函数
    「图论」树上问题
  • 原文地址:https://www.cnblogs.com/iuyy/p/13776776.html
Copyright © 2011-2022 走看看