鉴于这个用gcc 4.3.3编译的C代码
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char * argv[])
{
int * i;
i = (int *) malloc(sizeof(int));
printf("%d\n", *i);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我希望输出是malloc()返回的内存中的任何内容,而输出是0. malloc是否将它返回的内存归零?如果是这样,为什么?
我正在尝试编译一个简单的程序
#include <gtkmm.h>
Run Code Online (Sandbox Code Playgroud)
路径gtkmm.h是/usr/include/gtkmm-2.4/gtkmm.h.除非我特别说明,否则g ++不会看到此文件-I /usr/include/gtkmm-2.4.
我的问题是,如何让g ++自动查看/usr/include其中包含的所有头文件的所有目录的递归,为什么这不是默认操作?
我有一系列未签名的字符在c我试图在10号基础上打印,我被卡住了.我认为这将在代码中得到更好的解释,因此,给出:
unsigned char n[3];
char[0] = 1;
char[1] = 2;
char[2] = 3;
Run Code Online (Sandbox Code Playgroud)
我想打印197121.
这对于小型256基数阵列来说是微不足道的.一个可以简单地1*256 ^ 0 + 2*256 ^ 1 + 3*256 ^ 2.
但是,如果我的数组大100字节,那么这很快就会成为一个问题.C中没有100字节大的整数类型,这就是我将数字存储在unsigned char数组中的原因.
我怎么能在10号基地有效地打印出这个数字呢?
我有点迷茫.
这是有问题的代码
#include <stdio.h>
struct test {
unsigned char t;
unsigned short u;
unsigned char v;
};
int main ()
{
struct test * a = (void *) 0x1000;
printf("%x %p %p\n",
sizeof(struct test),
a + sizeof(struct test),
a - sizeof(struct test));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
sizeof(struct test)打印6,所以我希望看到:
6 0xffa 0x1006
相反,我得到了
6 0x1024 0xfdc
Run Code Online (Sandbox Code Playgroud)
我上次检查时,0x24或36,不等于6.它甚至没有与我能说的任何东西对齐.我完全失去了.
有人可以向我解释为什么我会得到这些价值观吗?
我第一次在 GTK 和 Glade 上乱搞,我遇到了一个非常烦人的问题。当我在 TextView 中输入文本时,TextView 会自动调整大小,将其他小部件推开。
这是一个非常烦人的行为。我不希望我的 TextView 根据其中的文本量改变大小。
有谁知道我可以做些什么来防止 TextView 根据其内容调整大小?