c/c++结构体几种定义情况总汇

「C/C++」C++经验篇 之 判断结构体数据是否被赋值的几种方法 方法适用场景是否需要 C++17备注bool标记所有情况❌ 不需要需要手动维护标记所有类型✅ 需要 C++17推荐,语义最清晰检查默认值有明确无效值的情况❌ 不需要需确保默认值不会冲突指针(unique_ptr动态分配的对象❌ 不需要需要解引用访问推荐方案如果使用 C++17+,优先选(最清晰、最安全)。如果不能用 C++17,可以用bool标记或默认值检查。如果结构体成员可能动态分配,可以用指针。希望这些方法能帮到你!如果有更具体的需求,可以进一步优化方案。何曾参静谧的博客。 阅读详情
#include <iostream>
#include <malloc.h>
#include <stdio.h>
using namespace std;
struct stu
{
       int *a;
       int *b;
};
int main()
{
    //struct stu *s=new stu[10];
    //struct stu s=new stu;
    stu s = (stu*)malloc(sizeof(stu)+2);
    //struct stu s;
    struct stu s1;//
    for (int i=0; i<4; i++)
    {
        cin>>s.a[i]>>s.b[i];
        cout<<s.a[i]<<" "<<s.b[i]<<endl;
    }
    //delete []s;
    while (1);
    return 0;
}

#define N 10005

struct stu
{
       int a;
       int b;
};

struct stu s[N];


首先,我们搞清几个概念,结构体名,结构体变量,结构体成员

结构体名    正如这样  struct stu s/这里stu 是结构体名,s是结构体变量了,那么里面的a,b都是他的成员了;

//在c++里面,我们发现笔者很喜欢用typedef;例如:

typedef struct stu
{
       int a;
       int b;
}s1,s2;


那么 s1,s2是什么意思呢?   大家都知道 typedef的作用的,顾名思义,我们的s1,s2,就相当 stu   他是结构体名,不是结构体变量,要运用结构体 我们就要定义一个结构体变量;

//像这样
s1 ss;
s2 sss;

接着 问题就来了,结构体成员是否可以和 结构体变量重名呢?  结构体名是否可以和结构体变量名一样呢???

struct stu
{
       int a;
       int b;
};

struct stu a;//struct stu stu;


结构体,在C++中,是一个类而已。所以,不管是类,还是结构体,它产生的对象名,其实是可以与成员同名的。

再试下,

struct stu
{
         int a,b;
}stu;//这时stu已经变成结构体变量了

但是下面的代码又没解释,只能说c很强大啊,下面的代码说明我们还是少重名,以免发生错误

 

#include <iostream>
#include <stdio.h>
using namespace std;
struct stu
{
       int a;
       int b;
};
int main()
{
    struct stu stu[100];
    struct stu s1;//
    for (int i=0; i<4; i++)
    {
        scanf("%d%d",&stu[i].a,&s1.a);
        printf("%d %d ",stu[i].a,s1.a);
    }
    while (1);
    return 0;
}

 下面的是结构体指针的两种定义方式:

1.

#include <iostream>
#include <stdio.h>
using namespace std;
struct stu
{
       int a;
       int b;
};
int main()
{
    struct stu *s=new stu[10];
    struct stu s1;//
    for (int i=0; i<4; i++)
    {
        cin>>s[i].a>>s[i].b;
        cout<<s[i].a<<" "<<s[i].b<<endl;
    }
    delete []s;
    while (1);
    return 0;
}

2.


 

 

Transformer凭什么取代RNN?深入拆解自注意力机制与梯度消失问题的终极对决 本文深入探讨了Transformer如何通过自注意力机制解决RNN的梯度消失问题,成为自然语言处理领域的新标准。通过对比RNN和Transformer的架构差异,揭示了自注意力机制在并行计算、长期依赖处理等方面的技术优势,并提供了实际任务中的性能对比数据。 阅读详情

相关推荐

第1关:STL模板之queue实例一:最少个数

头歌自创答案

xiyunSacire的博客 819

c++ 结构体

整形、长整形、字符型以及浮点型等这些数据类型指南记录单一的数据,而这些数据只能被称为基础数据类型。如果需要定义某种类型,同时包含以上几种的基本数据类型。比如一个人同时含有身高、体重以及年龄的属性。而结构体就是将这些变量类型包含在一起,大大减少程序代码的离散性,使程序代码阅读更加符合逻辑。struct 结构体类型名称{成员类型 成员名;...成员类型 成员名;};struct就是定义结构体的关键字。结构体类型名称就是一种标识符,该标识符表示一个新的变量。结构体是以大括号括起来且以分号结尾。...

Restless Breeze 8573

STM32F407+LWIP实战:NETCONN接口TCP服务器避坑指南(附正点原子例程解析)

本文深入解析了基于STM32F407和LWIP协议栈构建高响应TCP服务器的实战要点。针对使用NETCONN接口时常见的连接不稳定、数据延迟及内存泄漏等问题,提供了从NETCONN运行模型、服务器实现、参数优化到内存管理的全方位避坑指南,并结合正点原子例程,给出了具体的调试技巧与解决方案。

weixin_29188043的博客 403

C++结构体详解(一)

最近有网友私信我,让我出一期关于结构体的博文,对结构体的基本结构进行讲解,但是由于结构体本身跟指针、跟数组都能搭上关系,所以博主准备出三期结构体的博文,对结构体的讲解进行分别的讲解。 话不多说,我们开始对结构体进行学习吧。前提:在学任何的新的知识的时候,首先对概念进行理解,只有对概念有正确和充分的理解,才能够正确的去使用对应的工具(关键字) 一、结构体的定义 结构体实际就是一种结构,其中成员列表由若干个成员组成,每个成员都是该结构的一个组成部分。 结构体的定义格式: struct 结构体名{属性名;}; 理

qq_1628941121的博客 9837

2 海康视觉平台VisionMaster 上手系列:大纲及准备

海康视觉平台VisionMaster 大纲,课前准备 快速入门 工业机器视觉 机器视觉

HuangGong2022的博客 1万+

PRD撰写效率翻倍秘籍:我是如何用大模型+飞书文档搭建自动化工作流的

本文分享了如何利用大模型与飞书文档构建自动化工作流,以大幅提升PRD撰写效率。通过结构化需求输入、设计模块化提示词模板,并借助自动化脚本桥接数据与文档,产品经理可将繁琐的文档撰写工作自动化,从而将精力聚焦于产品战略与用户洞察。

weixin_28520495的博客 405

C++结构体的五种定义方式

第一种 struct student { string name; string class; double score; }; 普通定义,声明变量:struct student stu1; 第二种 struct student { string name; string class; double score; }Stu;

不午休の野猫 1万+

【云原生之Docker实战】使用docker部署Monica个人开源CRM系统

【云原生之Docker实战】使用docker部署Monica个人开源CRM系统

jks212454的博客 2387

C++基础篇(四)结构体及示例

C++基础篇(四)结构体及示例

qq_44706002的博客 2424

手把手教你完成YOLOv8分类识别界面搭建,使用Qt6设计YOLOv8分类识别系统,前台系统+后台管理系统开发实战,全网最详细教程

本项目基于YOLOv8分类模型,结合PySide6框架开发了一套图形化分类识别系统,支持图片、视频和摄像头实时检测。系统包含以下功能: 分类识别模块:完成图像/视频目标分类,界面展示检测结果。 用户管理模块:支持登录注册、头像修改、密码重置等功能。 AI问答模块:集成DeepSeek大模型接口,实现流式输出对话。 后台管理系统(第二版新增):管理员可管理用户信息及个人中心。 系统采用MySQL数据库存储用户数据,并提供完整的UI界面与交互逻辑。代码已开源,适用于毕业设计或快速部署场景。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 826

RandLA-Net Tensorrt 推理 c++

RandLA-Net 实现 Tensorrt 部署.

J。 1110

C++基础——结构体

1 结构体基本概念 结构体属于用户自定义的数据类型,允许用户存储不同的数据类型 2 结构体定义和使用 语法:struct 结构体名 { 结构体成员列表 }; 通过结构体创建变量的方式有三种: ○struct 结构体名 变量名 ○struct 结构体名 变量名 = { 成员1值, 成员2值...} ○定义结构体时顺便创建变量 #include <iostream> using namespace std; #include<string> //1、创建学生..

KevinJune的博客 1万+

【2025华为OD机考真题】- 简易内存池(B卷-200分)(C版)

🔔本文收录于「最新最全华为OD机试真题(C版)」专栏,手把手带你零基础教学华为OD机试。本题集提供最优题解思路,解题步骤,代码解析,复杂度分析及最优题解源码等,支持多语言题解,助你轻松拿捏OD机考,一举上岸!安利大家关注&&收藏&&订阅!题库正在疯狂收录中,up!up!up!! 🚫提醒:拒绝一切代考/替考,违法必究!专栏所写题库均精心搜集于互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验所撰,欢迎订阅。    💗订阅福利:一次订阅,可永久免费阅读,提供在线答疑解惑,后续题库更新皆可阅

**My Coding Family** 962

c/c++结构体几种定义情况总汇二

2.#include #include #include using namespace std; struct stu {        int *a;        int *b; }; int main() {     //struct stu

HONDELY的专栏 1532

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

C/C++ 中定义结构体的几种方法、初始化 以及别名的定义

C版本:定义结构体 Student 并调用里面的变量age 定义结构体 struct Student{ int id; int age; }; 调用: struct Student stu; int b = stu.age; 2.定义结构体 typedef struct Student { int id; int age; }Stud; 调用 Stud stu; stu.age = 10; i...

u012719076的博客 3714

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C语言定义结构体的几种方法

1. 先定义结构体类型,再定义结构体变量。 struct student{ char no[20]; //学号 char name[20]; //姓名 char sex[5]; //性别 int age; //年龄 }; struct student stu1,stu2; //此时stu1,s...

M2嵌入式 3万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

C/C++ C语言定义结构体的几种方法

1. 先定义结构体类型,再定义结构体变量。 struct student{ char no[20]; ...

iXiaochu的博客 1236

结构体定义和使用的几种方式

因为老是忘记使用方式,所以写于此记录一下。 1、定义如下,A是结构体名称,C语言中使用方式:struct A m, C++使用方式:A m。 struct A{ int a; }; 2、定义如下,A是结构体名称,使用方式和1中一样,不同的是,在定义的时候还定义了一个变量m,可以直接使用变量m。 struct A{ int a; }m; 3、定义如下,用这种方式定义的结构体不能在别处定义结构体变量,但是可以使用定义结构体时给出的结构体变量m,也就是只能使用变量m。 struct{ int

qq_34414773的博客 1746

C/C++中结构体变量及指向结构体指针变量的内存分配问题

一个结构体变量的指针就是该变量所占据的内存段的起始地址。可以设一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。指针变量也可以用来指向结构体数组中的元素。 声明一个结构体变量,无论是否初始化,都开辟内存,声明一个结构体指针变量,对其初始化的时候才会开辟内存。 A a[3];  a是A型的,有3个,当然分配A乘3大小的空间 A* a;    a是A*型

gaosaixing的博客 4606

C/C++结构体的初始化

1.C/C++结构体的初始化 今天看到项目中对自定义结构体初始化方式有点陌生,特在此罗列一下可用的结构体初始化的方式。 对结构体 struct A { int b; int c; } 有几种初始化方式: 第一种: struct A a = { .b = 1, .c = 2 }; 第二种: struct A a={ b:1, c:2 };...

嵘屹 2154

c/c++ 结构体赋初值的小技巧

1.CC++结构体的初始化 今天看到项目中对自定义结构体初始化方式有点陌生,特在此罗列一下可用的结构体初始化的方式。 对结构体 struct A { int b; int c; } 有几种初始化方式: 第一种: struct A a = { .b = 1, .c = 2 }; 第二种: ...

BlueBirdssh的专栏 6505

C++ 结构体

文章概述 结构体的定义; 定义结构体变量的几种方式; 访问结构体变量以及结构体变量赋值; 定义结构体变量,编译器会分配多大内存的空间。 结构体的定义 a. 结构体出现的背景 为了表示一些复杂的数据,普通的基本变量无法满足需求。 b. 结构体:表示不同类型变量的集合。通常将一组密切相关的信息组合起来表示一个对象。 c. struct用来声明一个结构体的类型。结构体中的变量...

小白的博客 6035

C++ 结构体中赋初值的几种方法

当我们定义一个结构体后,没有初始化就使用,有很大的概率会使用到垃圾数据,而且这种错误很难发现。 况且初始化是编程的一个好习惯,但是和外部初始化不同,结构体中我们会发现不能直接用 x=0 这种方法赋值 下面介绍两种在结构体中赋初值方法 1.在结构体构造函数中初始化 构造函数初始化时,函数名必须和结构体名相同 struct st{ int id; int c,m,e,sum; ...

Artorias的博客 8133

C/C++ 嵌套结构体动态内存管理实现

假设有这样遇到这样一个问题,有一个部落,存在若干个成员,每个成员有两个属性分别是年龄和地位等级。在程序中为构造这样一个部落对象,我会想到嵌套结构体的方式。已知部落成员不是固定的,那么我们对成员这个对象采用指针来表示。 那么现在就有两个结构体,第二个结构体嵌套第一个结构体,那么如何进行动态内存分配和管理呢?本文就是对该类结构体的内存管理进行的实践。 首先构造第一个结构体,假设内结构体INSIDE

acidy的专栏 3387

c语言结构体定义坐标,C/C++知识点之c语言结构体定义的几种形式

本文主要向大家介绍了C/C++知识点之c语言结构体定义的几种形式,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。1、最常用定义方式:定义结构体data,此时结构体相当于一个类型,比如int,如需使用此结构体,方法同intstructdata{charaa;charbb;charcc;intdd;};structdatasum1,...

weixin_36299482的博客 676

C语言定义一个结构体方法,C语言结构体定义的方法汇总

什么是结构体?在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。结构体与数组的比较(1) 都由多个元素组成(2) 各个元素在内存中的存储空间...

weixin_33846982的博客 1880
上一篇: 快速排序一
下一篇: c/c++结构体几种定义情况总汇二
hondely
博客等级 码龄17年 92粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值