当前位置:网站首页>L'utilisation de C language 0 length Array
L'utilisation de C language 0 length Array
2022-06-27 11:06:00 【Fhqlongteng】
1、0Tableau de longueur
0Longueur du tableau signifie que la longueur du tableau est0,Par exemple,int a[0],Il ne prend pas d'espace mémoire après la compilation,C'est - à - dire:sizeof(a) = 0.
C99Le règlement peut êtreTableau de longueur variable int len ; int array[len];C'est - à - dire que le tableau est la taille du tableau spécifiée au moment de l'exécution du programme.Il est courant d'initialiser les données d'entrée.
GCCPrise en charge directe des tableaux de longueur nulle,int a[0];Un tableau de longueur zéro a une caractéristique qui n'utilise pas d'espace mémoire.0Les tableaux de longueur sont rarement utilisés seuls,Généralement utilisé dans les structures,Ne pas occuper la longueur de la structure,Utilisé lors de l'allocation de la mémoire continue.
2、0Utilisation de tableaux de longueur dans les structures
0.Les tableaux de longueur sont souvent utilisés dans les structures,Le code suivant est une structure avec0Tableau de longueur.Cette structuresizeof(struct rndis_query_msg) = 7Un mot=28Longueur des octets,OIDInputBuffer[0] Espace inoccupé dans la structure .
/* Remote NDIS Query Message */
struct rndis_query_msg
{
rt_uint32_t MessageType;
rt_uint32_t MessageLength;
rt_uint32_t RequestId;
rt_uint32_t Oid;
rt_uint32_t InformationBufferLength;
rt_uint32_t InformationBufferOffset;
rt_uint32_t Reserved;
rt_uint8_t OIDInputBuffer[0];
};
typedef struct rndis_query_msg* rndis_query_msg_t;OIDInputBuffer Utilisé principalement pour accéder aux variables des membres du tissu lors de l'allocation de mémoire Reserved Utilisation continue de la mémoire . Comme demander un struct rndis_query_msg Espace mémoire occupé par la structure ,EtOIDInputBuffer La mémoire pointée a 10 L'espace en octets peut être utilisé . Le Code peut être écrit comme suit .
rndis_query_msg_t prndis = NULL;
prndis = malloc(sizeof(struct rndis_query_msg) + 10);
if(prndis)
{
for(i = 0; i < 10; i++)
{
prndis->OIDInputBufferp[i] = i;
}
}
/* Si cet article vous aide ,Donnez - moi du thé--Ajoutez - moivx:longtengweixin*/3、Compilateurs pris en charge
0 Le tableau de longueur est écrit dans IARCompilateur,GCC Prise en charge dans le compilateur .Mais danskeil Le compilateur par défaut n'est pas pris en charge ,Même ouvertC99 Et le réglage de .keil Le logiciel doit être ajouté aux options de compilation --gcc Pour prendre en charge la compilation .

边栏推荐
- QStyle类用法总结(三)
- 【TcaplusDB知识库】TcaplusDB单据受理-创建业务介绍
- 0基础了解电商系统如何对接支付渠道
- VPT模型视频讲解
- 【TcaplusDB知识库】TcaplusDB系统用户组介绍
- 【Methodot 专题】什么样的低代码平台更适合开发者?
- 直播電子商務應用程序開發需要什麼基本功能?未來發展前景如何?
- Imeta: a collection of imagegp+ video tutorials of high-value drawing websites, which has been cited 360 times (220625 updates)
- 【TcaplusDB知识库】TcaplusDB单据受理-事务执行介绍
- 【TcaplusDB知识库】TcaplusDB常规单据介绍
猜你喜欢

杰理之串口通信 串口接收IO需要设置数字功能【篇】

【TcaplusDB知识库】TcaplusDB-tcaplusadmin工具介绍

【TcaplusDB知识库】TcaplusDB-tcapsvrmgr工具介绍(一)

Codeforces Round #786 (Div. 3) ABCDE

Write it down once Net analysis of a property management background service stuck
![[tcapulusdb knowledge base] Introduction to tmonitor background one click installation (I)](/img/0a/3eae294b335c120c4aabd05e4230c3.png)
[tcapulusdb knowledge base] Introduction to tmonitor background one click installation (I)

【TcaplusDB知识库】TcaplusDB常规单据介绍
![[tcapulusdb knowledge base] Introduction to tcapulusdb tcapsvrmgr tool (I)](/img/04/b1194ca3340b23a4fb2091d1b2a44d.png)
[tcapulusdb knowledge base] Introduction to tcapulusdb tcapsvrmgr tool (I)

Glide缓存机制

Working at home is more tiring than going to work at the company| Community essay solicitation
随机推荐
杰理之添加定时器中断【篇】
Openpyxl table reading instance
Codeforces Round #786 (Div. 3) ABCDE
Co jump
Codeforces Round #786 (Div. 3) ABCDE
一篇抄十篇,CVPR Oral被指大量抄袭
NAACL 2022 | TAMT:通过下游任务无关掩码训练搜索可迁移的BERT子网络
Based on swift admin's rapid background development framework, I made a rookie tutorial [professional version]
go-zero微服务实战系列(七、请求量这么高该如何优化)
go-zero微服务实战系列(七、请求量这么高该如何优化)
【TcaplusDB知识库】TcaplusDB机型管理介绍
Redis 分布式锁15问,看看你都掌握了哪些?
【TcaplusDB知识库】TcaplusDB常规单据介绍
[tcapulusdb knowledge base] Introduction to tcapulusdb tcapsvrmgr tool (I)
Queue, two-way queue, and its application
隐私计算FATE-离线预测
力扣(LeetCode)177. 第N高的薪水(2022.06.26)
Concepts of concurrency, parallelism, asynchronism, synchronization, multithreading and mutual exclusion
Microsoft cloud technology overview
Oracle multi table query