小编ice*_*Tea的帖子

C什么是long unsigned int的简短形式

当用GCC编译我的程序时,我得到以下警告:

format ‘%d’ expects type ‘int’, but argument 2 has type ‘long unsigned int
Run Code Online (Sandbox Code Playgroud)

现在只是通过玩耍我意识到%lo修复了警告.但是我真的不明白我在做什么.

是否有命名约定来获取类型的简短形式?例如,int是%d,为什么?

谢谢!

c gcc types

6
推荐指数
2
解决办法
2万
查看次数

C为什么指针大于整数

我正在Linux机器上玩GCC中的sizeof(),我发现了一些非常令人惊讶的东西.

printf ("\nsize of int = %lu\n", sizeof(int));
printf ("\nsize of int* = %lu\n", sizeof(int *));
Run Code Online (Sandbox Code Playgroud)

产量

size of int = 4
size of int* = 8
Run Code Online (Sandbox Code Playgroud)

我认为指向整数的指针的大小会比实际的整数本身小得多!

我现在正在研究嵌入式软件,我理解通过引用传递比传递值更有效(在功率方面).

如果指针的大小大于实际值,有人可以澄清为什么通过引用传递比通过值更有效.

谢谢!

c memory embedded

4
推荐指数
2
解决办法
2312
查看次数

如何为指向 char * 数组的指针分配内存?

有人可以解释一下如何为指向c中字符指针数组的指针正确分配内存吗?例如:

char *(*t)[];
Run Code Online (Sandbox Code Playgroud)

我尝试这样做:

*t = malloc( 5 * sizeof(char*));
Run Code Online (Sandbox Code Playgroud)

这给了我一个编译错误:

error: invalid use of array with unspecified bounds
Run Code Online (Sandbox Code Playgroud)

对此的任何帮助都会很棒!谢谢

c memory allocation multidimensional-array

1
推荐指数
1
解决办法
3748
查看次数

C编程:如何在没有==的情况下比较两种类型

我想知道C编译器如何处理比较运算符'=='

我希望创建一个函数(在C中),它可以在不使用==的情况下比较两件事.我认为可以通过使用按位运算符(&,|,^,>>)来完成,但我似乎无法想到如何做到这一点.

有人有想法吗?

谢谢!

c comparison bit-manipulation

0
推荐指数
1
解决办法
299
查看次数

shell脚本搜索文件然后回显文件的内容

我试图创建一个shell脚本来回显文件的内容,我不知道在哪里找到它.

我以为它会是这样的:

$echo | ls /* | grep file.xml
Run Code Online (Sandbox Code Playgroud)

我的文件可能在某个未知的子文件夹中,所以我试图用grep搜索它的路径.

任何有关正确语法的帮助将不胜感激!

shell grep pipe

0
推荐指数
1
解决办法
1万
查看次数