小编art*_*sol的帖子

为什么pthread_join()的第二个参数是**,指向指针的指针?

我是新手,pthread也不熟悉指针指针.有人可能会解释为什么第二个论点pthread_join()是a void **.为什么这样设计.

int pthread_join(pthread_t thread, void **value_ptr);
Run Code Online (Sandbox Code Playgroud)

c pointers pthreads pass-by-value pointer-to-pointer

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

C通过引用或通过值将结构数组传递给函数

我在C中有一个函数,它接受一个结构数组作为参数:

int load_ini_parms(char * ini_file,
                   struct test_object s[],
                   int num,
                   struct lwm2m_object * l)
Run Code Online (Sandbox Code Playgroud)

我的问题是,将指针传递给结构数组是否会更好?有什么优点或缺点?

c struct pass-by-reference pass-by-value

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

c创建没有typedef的新类型

我正在阅读一些c源代码,并且使用这种语法定义了一个名为'lwm2m_object_t'的新类型.

#define OBJ_COUNT (9)
lwm2m_object_t * objArray[OBJ_COUNT]; 
Run Code Online (Sandbox Code Playgroud)

有人可以解释你如何定义这样的类型?你不必使用typedef

这是一个类型的指针数组lwm2m_object_t

谢谢

c pointers typedef

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

如何从c中的日期时间字符串中删除空格

下面的代码创建一个包含日期和时间的字符串 Wed Jul 26 14:45:28 2017

我怎么能从中删除空格?那就是WedJul2614:45:28

原始代码:

#include <stdio.h>
#include <time.h>

int main() {
    time_t t = time(NULL);
    struct tm *tm = localtime(&t);
    char s[64];
    strftime(s, sizeof(s), "%c", tm);
    printf("%s\n", s);
}
Run Code Online (Sandbox Code Playgroud)

我尝试了这个代码,但它打印出来 wed?July

#include <stdio.h>
#include <time.h>

int main() {
    time_t t = time(NULL);
    struct tm *tm = localtime(&t);
    char s[64];
    char temp[64];
    strftime(s, sizeof(s), "%c", tm);
    printf("%s\n", s);


    for (int i = 0; i < sizeof(s); i++) {
      if (s[i] != ' ') {
        temp[i] …
Run Code Online (Sandbox Code Playgroud)

c string

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