相关疑难解决方法(0)

void*意味着什么以及如何使用它?

今天当我阅读别人的代码时,我看到了类似的void *func(void* i);东西,这void*对于函数名称和变量类型分别意味着什么?

另外,什么时候需要使用这种指针以及如何使用它?

c

134
推荐指数
4
解决办法
15万
查看次数

如何将可变数量的参数传递给printf/sprintf

我有一个类,它包含一个"错误"函数,可以格式化一些文本.我想接受可变数量的参数,然后使用printf格式化它们.

例:

class MyClass
{
public:
    void Error(const char* format, ...);
};
Run Code Online (Sandbox Code Playgroud)

Error方法应该接受参数,调用printf/sprintf来格式化它然后用它做一些事情.我不想自己编写所有格式,因此尝试找出如何使用现有格式是有意义的.

c c++ printf variadic-functions

76
推荐指数
3
解决办法
11万
查看次数

函数名前的星号功能是什么?

我对大多数对我来说都不熟悉的函数声明的C程序感到困惑.

void *func_name(void *param){
    ...
}
Run Code Online (Sandbox Code Playgroud)

什么*意味着这个功能?我对*变量类型中的()的理解是它创建了一个指向另一个变量的指针,因此它能够跟踪后一个变量存储在内存中的地址.但在这个函数的情况下,我不知道这个*星号是什么意思.

c pointers function

60
推荐指数
4
解决办法
3万
查看次数

为什么在printf中使用指针时会将其转换为(void*)p?

char  x = 'G';
char *p = &x;

printf ("Address of x: %p\n", p);
printf ("Address of x: %p\n", (void*)p);
Run Code Online (Sandbox Code Playgroud)

谁能告诉我究竟(void*)p意味着什么?我知道它是一样的p,因为它也给了我地址x,但为什么写的是(void*)p

c

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

关于C中函数定义的困惑

我找到了这个函数定义

void *func(void *param) {

}
Run Code Online (Sandbox Code Playgroud)

实际上,我对这个函数定义有一些困惑.void*在函数的返回类型和参数中的含义是什么.我是C的初学者.所以请不要介意.谢谢

void *func(void *param) {
  int s = (int)param;
  ....
}
Run Code Online (Sandbox Code Playgroud)

好好看看我发现的上述程序.我认为应该是这样的

int *s = (int *)param;
Run Code Online (Sandbox Code Playgroud)

不是吗?我很迷惑

c function

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

函数指针带(void*)

在C中,函数指针(void*)在做什么:

    int (*fn) (void*)
Run Code Online (Sandbox Code Playgroud)

如果参数为空,那么它应该是:

    int (*fn) ()
Run Code Online (Sandbox Code Playgroud)

我的理解是void*大块的记忆. void* mem意味着mem指向一大块记忆.但什么是(void*)没有名字?

c

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

关于C中malloc和calloc函数的困惑

malloc功能声明:

void *malloc(size_t size);
Run Code Online (Sandbox Code Playgroud)

在这里,malloc返回void指针.那么,A void函数什么都不返回呢

为什么我们将malloc(函数调用)值赋给指针?

例如:

int *ptr;
ptr = malloc(10 * sizeof (*ptr));
^^^
Run Code Online (Sandbox Code Playgroud)

什么是返回值来自malloc()???

c malloc function void calloc

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

标签 统计

c ×7

function ×3

c++ ×1

calloc ×1

malloc ×1

pointers ×1

printf ×1

variadic-functions ×1

void ×1