c结构体初始化问题
结构体中的数组的初始化问题 我的代码
C/C++ code
#include <stdio.h>
#include <stdlib.h>
struct a
{
int length;
int c[];
}b;
int main()
{
b.c={,,,,}; }
调试时编译器报错,求指点
------解决方案-------------------- 你那个结构体属于全局变量,在进入main之前就已经分配空间了。
{}只能用来来初始化,只有在定义的时候能用。给数组赋值是不能用{}的。
你的代码应该改成这样
C/C++ code
#include <stdio.h>
#include <stdlib.h>
struct a
{
int length;
int c[];
}b={,,,,,};//0是初始化给length的,后面5个是给数组的,要按顺序。
int main()
{ }
------解决方案-------------------- C/C++ code
#include <stdio.h>
#include <stdlib.h>
struct a
{
int length;
int c[];
}b;
int main()
{
int i;
for(i=;i<;i++)
b.c[i]=i+;
}
------解决方案-------------------- 参考普通的数组 {1,2,3,4,5}这样的初始化只能在定义的时候
分配空间只能逐个赋值或者用循环赋值
字符组数的初始化同上。。
c结构体初始化问题的更多相关文章
- Linux C中结构体初始化
在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式.该方式是某些C教材(如谭二版.K&R二版)中没有介绍过的.这种方式称为指定初始化(designated in ...
- struct--------构造函数对结构体初始化的影响
struct--------构造函数对结构体初始化的影响. 没有构造函数时使用如下: struct ClassBook{ int number; int age; }; int main() { ...
- Linux C 结构体初始化三种形式
最近看linux代码时发现了结构体 struct 一种新的初始化方式,各方查找对比后总结如下: 1. 顺序初始化教科书上讲C语言结构体初始化是按照顺序方式来讲的,没有涉及到乱序的方式.顺序初始化str ...
- Linux下C结构体初始化[总结]
1.前言 今天在公司看一同事写的代码,代码中用到了struct,初始化一个struct用的是乱序格式,如下代码所示: typedef struct _data_t { int a; int b; }d ...
- Linux下C结构体初始化
1.前言 今天在公司看一同事写的代码,代码中用到了struct,初始化一个struct用的是乱序格式,如下代码所示: typedef struct _data_t { int a; int b; }d ...
- C语言结构体初始化方法
早上苏凯童鞋问我这个问题来着,写在这里. 我了解到的C中结构体初始化的方法大概有三种. 如这里我定义了一个结构体: typedef struct node { int x, y; }Node; 第一种 ...
- golang | Go语言入门教程——结构体初始化与继承
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是golang专题第10篇文章,我们继续来看golang当中的面向对象部分. 在上一篇文章当中我们一起学习了怎么创建一个结构体,以及怎么 ...
- 【2016-08-18】转载:总结C++中几种结构体初始化的方法
作者:Ac_Von 博客地址:http://www.cnblogs.com/vongang/ 文章地址:http://www.cnblogs.com/vongang/archive/2011/07/3 ...
- 一个C/C++结构体初始化有趣的现象
我们知道C语言当中结构可以使用{}进行初始化,例如有结构体定义如下: typedef struct type_t { int a; int b; int c; int d; }type_t; 我们可以 ...
随机推荐
- android5.0问题
2042-2247/system_process W/AudioTrack﹕ AUDIO_OUTPUT_FLAG_FAST denied by client libzte-ril.so has tex ...
- 开发完整的Web项目必备
开发工具 数据库系统 DB2数据库 Oracle数据库 SQL Server数据库 MySQL数据库 Access数据库 Web服务器 IIS BEA WebLogic Server Apache T ...
- vim解决中文显示乱码问题
命令:vim ~/.vimrc 写入如下: set enc=utf-8 set fileencoding=utf-8 set fileencodings=ucs-bom,utf8,prc set gu ...
- C#中的几个线程同步对象方法
在编写多线程程序时无可避免会遇到线程的同步问题.什么是线程的同步呢? 举个例子:如果在一个公司里面有一个变量记录某人T的工资count=100,有两个主管A和B(即工作线程)在早一些时候拿了这个变量的 ...
- [NYOJ 43] 24 Point game
24 Point game 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描述 There is a game which is called 24 Point game ...
- HDU-5347 MZL's chemistry
http://acm.hdu.edu.cn/showproblem.php?pid=5347 MZL's chemistry Time Limit: 2000/1000 MS (Java/Others ...
- poj2686 Traveling by Stagecoach
http://poj.org/problem?id=2686 Trav ...
- NHibernate统一类封装代码
NHibernate已经成为.net主流的ORM框架,当然,在开发中如果需要使用NHibernate的话,我们一般会对她进行一次封装,以便在项目中使用更方便,以及对NHibernate有一个全局的控制 ...
- sr4000自带API和opencv结合获取图像
/* * ===================================================================================== * * Filen ...
- 【原】Comparator和Comparable的联系与区别
1.知识点了解 Comparator和Comparable都是用用来实现集合中元素的比较.排序的,所以,经常在集合外定义Comparator接口的方法和集合内实现Comparable接口的方法中实现排 ...