我想要一个flex-direction: column;flexbox容器,其宽度增长以适应包含元素.

灰色div是flexbox容器,红色div包含在内部,并使用flexbox布置在列中.灰色div需要扩展/收缩其宽度以完美地包含红色子div.这可能吗?
.container {
display: flex;
flex-direction: column;
flex-wrap: wrap;
max-height: 290px;
align-content: flex-start;
padding: 2px;
background: grey;
}
.child {
background: red;
width: 100px;
height: 100px;
margin: 2px;
}Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>Run Code Online (Sandbox Code Playgroud)
我在第一次学习C++之后第一次使用C作为一个类项目,所以语法就是杀了我......基本上,我需要将函数给出的字符串存储到一个单独的变量中供以后使用.
我有一个像这样声明的字符数组
char foo[];
Run Code Online (Sandbox Code Playgroud)
我给出的一个函数将一堆字符分配给这个数组(或指向字符的指针?).我可以像这样打印出存储在foo中的实际字符串
printf("%s", foo);
Run Code Online (Sandbox Code Playgroud)
我可以将其地址存储在这样的不同变量中
char *bar;
bar = &foo[0];
printf("%s", foo);
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,完整的字符串输出都很好.但是,如何将此字符串存储在另一个变量中?如果foo改变了,那么bar将不再保存我需要的字符串,因为它只是指向foo.我想到的任何东西都会给我编译错误
warning: initialization makes pointer from integer without a cast
Run Code Online (Sandbox Code Playgroud)
希望这是足够的信息.我在这里先向您的帮助表示感谢.