-3
有没有办法在C中执行以下操作?可能设置指针的所有元素在malloc后浮动
float *t = (float*)malloc(t_size*sizeof(float));
t = {
1,0,0,
-1,0,0,
0,1,0
};
如何以下类似的是标准的
float t[9] = {
1,0,0,
-1,0,0,
0,1,0
};
有没有办法在C中执行以下操作?可能设置指针的所有元素在malloc后浮动
float *t = (float*)malloc(t_size*sizeof(float));
t = {
1,0,0,
-1,0,0,
0,1,0
};
如何以下类似的是标准的
float t[9] = {
1,0,0,
-1,0,0,
0,1,0
};
至于问,一个c soultion可以使用compound literals
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
#define t_size 9
float *t = malloc(t_size*sizeof(*t));
if (t != NULL)
{
memcpy(t, (float[t_size]){1,0,0,-1,0,0,0,1,0}, t_size*sizeof(*t));
for (size_t i=0; i<t_size; i++)
printf("t[%zu] = %g\n", i, t[i]);
}
free(t);
return 0;
}
C或C++来完成?这是不一样的。 – NathanOliver
,让我们坚持使用C++ – user1709076
'的std ::矢量 VEC { 1,0,0, -1,0,0, 0,1,0 };':) –
LogicStuff