有什么区别uint和unsigned int?我正在寻找网站,但所有问题都是指C#或C++.我想要一个关于C的答案.
请注意,我在Linux下使用GCC.
我的代码中有这样的东西
typedef struct ts_fem_mesh
{
double **vertices;
unsigned int **triangles;
unsigned int n_ver;
unsigned int n_tri;
} fem_mesh;
fem_mesh *fem_mesh_new(unsigned int n_ver, unsigned int n_tri)
{
fem_mesh *mesh;
mesh = (fem_mesh *)malloc(sizeof(fem_mesh));
mesh->n_ver = n_ver;
mesh->n_tri = n_tri;
mesh->vertices = (double **)calloc(n_ver, sizeof(double *));
mesh->triangles = (unsigned int **)calloc(n_tri, sizeof(unsigned int *));
int i;
for(i=0;i<n_ver;i++)
mesh->vertices[i] = (double *)calloc(2, sizeof(double));
for(i=0;i<n_tri;i++)
mesh->triangles[i] = (unsigned int *)calloc(3, sizeof(unsigned int));
return mesh;
}
Run Code Online (Sandbox Code Playgroud)
通常情况下,当我打电话fem_mesh_new,我使用了非常大的数字n_ver和n_tri,这有时会导致分配错误(没有足够的空间).
即使我遇到这种错误,我的程序也应该建议用户并执行.在这种情况下,我想释放自错误点以来我分配的所有东西(即我在尝试分配时遇到错误mesh->triangles …
假设我有一个宏,比如
#define max(a,b) (((a) > (b)) ? (a) : (b))
Run Code Online (Sandbox Code Playgroud)
然后我在"普通代码"中使用它
int foo()
{
...
c = max(a,b);
...
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在预编译后看到代码?有没有办法看到宏替代的效果(也许是通过编译器完成的,我使用gcc)?
我想得到这样的东西:
int foo()
{
...
c = ((a>b) ? a : b);
...
}
Run Code Online (Sandbox Code Playgroud)
有这样的事吗?
我有一个对象向量,我需要逐个比较它们.那是:
for (Object o1 : list) {
for (Object o2 : list) {
//Do something with o1 and o2
}
}
Run Code Online (Sandbox Code Playgroud)
无论如何使用这种方法我会比较任何两次!使用"C"风格的方法,我会这样做:
for (i=0; i<n-1; i++) {
for (j=i+1; j<n; j++) {
//Do something with list[i] and list[j]
}
}
Run Code Online (Sandbox Code Playgroud)
其中n是列表的长度.
有没有办法使用for-each循环?
加成
for-each循环的使用不是强制性的.无论如何,我关心的是表演问题.for-each循环是否比直接访问索引的简单快?
我有一个".c .h"文件.在头文件(.h)中,我定义了2个typedef结构,让我们称它们为TS1和TS2.
现在,TS1的一个成员的类型是TS2.我希望只有TS1可见.应该隐藏TS2.TS2应仅对".c"文件可见.
我怎样才能做到这一点?
我想用C++编写一些标记字符串的东西.要解释我想要的内容,请使用以下字符串:
add string "this is a string with spaces!"
Run Code Online (Sandbox Code Playgroud)
必须按如下方式拆分:
add
string
this is a string with spaces!
Run Code Online (Sandbox Code Playgroud)
是否有基于标准库的快速方法?
考虑一个非常简单的HTML链接到pdf文件:
<a target="_blank" href="mypdf.pdf">Link to pdf</a>
Run Code Online (Sandbox Code Playgroud)
当然,当用户单击链接时,将打开pdf并在浏览器中显示第一页。
有没有一种方法可以创建到pdf特定页面的链接?我想知道是否有这样的命令:
<a target="_blank" href="mypdf.pdf#11">Link to page 11 of the pdf</a>
Run Code Online (Sandbox Code Playgroud)
或一些基于Javascript的技巧。
当我有一个整数或指针时a,事实证明两者都是
!a
Run Code Online (Sandbox Code Playgroud)
和
a==0
Run Code Online (Sandbox Code Playgroud)
有相同的行为.在非常低的水平上,计算速度方面是否存在一些差异?
假设有n(整数)连续的长度段l(浮点).那是:
Segment 0 = [0, l)
Segment 1 = [l, 2*l)
Segment 2 = [2*l, 3*l)
...
Segment (n-1) = [(n-1)*l, n*l)
Run Code Online (Sandbox Code Playgroud)
给定一个数字x(浮点数)我想确定它所在的段的id.
我的第一个想法如下:
int segmentId = (int) floor(x/l);
Run Code Online (Sandbox Code Playgroud)
无论如何,这有时不起作用.例如,考虑一下
double l = 1.1;
double x = 5.5;
int segmentId = (int) floor(x/l); //returns 5
double l = 1.1;
double x = 6.6;
int segmentId = (int) floor(x/l); //returns 5!!!
Run Code Online (Sandbox Code Playgroud)
当然,由于有限的算术,这不能很好地工作.为了实现强大的实现,可能需要一些额外的检查,但我真的不知道如何继续进行.
问题是:你如何解决问题"给定数字在哪个部分?"
考虑以下Python代码:
class a_class:
defined_var = 1
def a_function(self):
self.defined_var = 2
self.undefined_var = 3
Run Code Online (Sandbox Code Playgroud)
为在类的开头没有声明的变量赋值(然后隐式声明)的可能性(就像我undefined_var在上一个示例中所做
的那样)给我带来了一些问题,因为对于大型类,我忘记了什么我定义了我没有的东西。
我知道这个问题听起来很愚蠢。我已经使用C / C ++ / Java开发了很长时间,其中必须在类中定义变量。
有办法避免这种情况吗?我的意思是,我想要一个类似C / C ++ / Java的行为,如果我使用未定义的变量,则会出现错误。