小编Asa*_*efa的帖子

我可以在C结构中定义一个函数吗?

我试图将一些C++代码转换为C,我遇到了一些问题.如何在结构内部定义函数?

像这样:

 typedef struct  {
    double x, y, z;
    struct Point *next;
    struct Point *prev;
    void act() {sth. to do here};
} Point;
Run Code Online (Sandbox Code Playgroud)

c structure function

45
推荐指数
4
解决办法
7万
查看次数

如何在c#中列出.zip文件夹的内容?

如何在C#中列出压缩文件夹的内容?例如,如何知道压缩文件夹中包含多少项,以及它们的名称是什么?

c# directory zip list

29
推荐指数
5
解决办法
4万
查看次数

const volatile,在C++中注册volatile,static volatile

我想知道volatile关键字与register,const和static关键字的不同用途.我不确定有什么影响,所以我想:

register volatile int T=10;
Run Code Online (Sandbox Code Playgroud)

建议编译器将T存储在寄存器中,并且可以从外部某处修改T的值(OS,硬件,另一个线程)

const volatile int T=10;
Run Code Online (Sandbox Code Playgroud)

程序本身不能修改T,但T可以在代码之外的某处修改.

static volatile int T=10;
Run Code Online (Sandbox Code Playgroud)

如果T是类的数据成员,则意味着类的所有对象具有相同的T值,并且可以从外部的某处修改T.如果T是文件中的全局变量,则其他文件(属于项目的一部分)中的源代码无法访问T,但可以从外部的某个位置访问T. 如果T是函数中的局部变量,一旦它被初始化,它将保留在内存中直到程序结束,并且可以从外部的某个地方进行修改.

我的想法是否正确,任何有经验的C++开发人员都可以提供一个示例,其中上述内容可能在实际应用程序中使用,或者它是非常罕见的?

c++ static const volatile

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

strlen没有检查NULL

为什么strlen()不检查NULL?

如果我这样做strlen(NULL),就会出现故障.

试图了解它背后的基本原理(如果有的话).

c segmentation-fault strlen

25
推荐指数
4
解决办法
5万
查看次数

C,Malloc()和数组长度

可能重复:
如何查找sizeof(指向数组的指针)

我正在学习如何在C中创建动态数组,但遇到了一个我无法弄清楚的问题.

如果我使用代码:

int num[10];
for (int i = 0; i < 10; i++) {
    num[i] = i;
}
printf("sizeof num = %li\n sizeof num[0] = %li", sizeof(num), sizeof(num[0]));
Run Code Online (Sandbox Code Playgroud)

我得到输出:

sizeof num = 40
sizeof num[0] = 4
Run Code Online (Sandbox Code Playgroud)

这就是我期望发生的事情.但是,如果我malloc数组的大小如下:

int *num;
num = malloc(10 * sizeof(int));
for (int i = 0; i < 10; i++) {
    num[i] = i;
}
printf("sizeof num = %li\n sizeof num[0] = %li", sizeof(num), sizeof(num[0]));
Run Code Online (Sandbox Code Playgroud)

然后我得到输出:

sizeof num = 8
sizeof num[0] = 4 …
Run Code Online (Sandbox Code Playgroud)

c arrays malloc

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

C中的十六进制浮点常数

我有一个十六进制浮点常量,我想在我的C程序中直接声明,并避免转换.我相信它必须首先正常化,对吗?我如何规范它并声明它?

// hex constant 0xDE.488631  
double val = 0xDE.488631; // Error must have exponent.
double val = 0x0.DE488631p-2;  // Pretty sure this is wrong.
Run Code Online (Sandbox Code Playgroud)

c floating-point hex

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

隐藏/显示UI元素与添加/删除(快速)

因此,我正在创建一个使用Facebook登录的iOS应用。登录屏幕和主屏幕是相同的(使用相同的ViewController),并且在登录后可以调整内容。

从安全和性能的角度来看,什么是最好的适应屏幕的方法?

例如:我应该使用removeFromSuperview()和addSubview(view)还是ishidden = true / false?

xcode ios swift

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

程序中的杂散字符

所以我的教授给了我们一些代码,他说它应该能够编译,但我得到各种错误,不知道什么是错的,因为我对c没有任何经验.它是一个汇编语言类,我们应该编写汇编代码来匹配c代码正在做的事情.他告诉我们在c中运行程序以了解事物.

#include <stdio.h>
#define  SIZE  40

main()
{
int v[SIZE];
register int gap, i, j, temp;

/*  Initialize array to random positive integers mod 256  */
for (i = 0; i < SIZE; i++)
    v[i] = rand() & 0xFF;

/*  Display the unsorted array  */
for (i = 0; i < SIZE; i++)
    printf(“v[%-d] = %-d\n”, i, v[i]);

/*  Sort the array using a shell sort  */
for (gap = SIZE / 2; gap > 0; gap /= 2) { …
Run Code Online (Sandbox Code Playgroud)

c compiler-construction

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