c语言复合字面10
Posted 周三石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言复合字面10相关的知识,希望对你有一定的参考价值。
(常 符 []){"abc"} == "abc" // 可以为 1 或 0 ,实现定义
整 f (空)
{
构 s {整 i;} *p = 0, *q;
整 j = 0;
再次:
q = p, p = &((构 s){ j++ });
如 (j < 2) 至 再次; // 注意:若使用循环,则其作用域会结束于此,
// 这会终止复合字面量的生存期,
// 令 p 为悬垂指针
中 p == q && q->i == 1; // 始终返回 1
}
整 *p = (整[]){2, 4}; // 创建一个无名的 整[2] 类型静态存储数组
// 初始数组为值 {2, 4}
// 创建指向数组首元素的指针 p
常 浮 *pc = (常 浮 []){1e0, 1e1, 1e2}; // 只读复合字面量
整 主(空)
{
整 n = 2, *p = &n;
p = (整 [2]){*p}; // 创建一个无名的 整[2] 类型自动存储数组
// 初始化首个元素为之前 *p 所持有的值
// 初始化第二个元素为零
// 将首元素的地址存储到 p
构 点 {双精 x,y;};
空 画行1(构 点 从, 构 点 到);
空 画行2(构 点 *从, 构 点 *到);
画行1((构 点){.x=1, .y=1}, // 创建二个块作用域的结构体
(构 点){.x=3, .y=4}); // 然后调用 画行1 ,以值传递
画行2(&(构 点){.x=1, .y=1}, // 创建二个块作用域的结构体
&(构 点){.x=3, .y=4}); // 然后调用 画行2 ,传递其地址
}
以上是关于c语言复合字面10的主要内容,如果未能解决你的问题,请参考以下文章