找到 1356 篇文章 关于 C

C 中 FILE 的数据类型是什么?

Smita Kapse
更新于 2019-07-30 22:30:26

3K+ 浏览量

在 C 中,我们使用了文件。为了处理文件,我们使用 FILE 类型的指针。所以 FILE 是一种数据类型。这被称为不透明数据类型。因此,它的实现是隐藏的。FILE 的定义是特定于系统的。这是 Ubuntu 系统中 FILE 的定义 - FILE 定义struct _IO_FILE {    int _flags; /* 高位字是 _IO_MAGIC;其余是标志。 */    #define _IO_file_flags _flags    /* 以下指针对应于 C++ 流缓冲协议。 */    /* 注意:Tk 直接使用 _IO_read_ptr 和 _IO_read_end 字段。 */    char* _IO_read_ptr; /* 当前读取 ... 阅读更多

C 中的卫生宏

Nishtha Thakur
更新于 2019-07-30 22:30:26

474 浏览量

在这里,我们将了解 C 中的卫生宏。我们知道宏在 C 中的用法。但有时,由于意外捕获标识符,它不会返回期望的结果。如果我们看到以下代码,我们可以看到它不能正常工作。示例#include #define INCREMENT(i) do { int a = 0; ++i; } while(0) main(void) {    int a = 10, b = 20;    //对 a 和 b 调用宏两次    INCREMENT(a);    INCREMENT(b);    printf("a = %d, b = %d", a, b); }预处理后代码将如下所示 - 示例#include #define ... 阅读更多

C 和 C++ 之间的差异

Smita Kapse
更新于 2019-07-30 22:30:26

126 浏览量

在这里,我们将了解 C 和 C++ 之间的一些差异。一些可以使用 C 编译器编译的 C 代码,但在 C++ 编译器中无法编译。并且还会返回错误。我们可以使用一种语法定义函数,该语法可以选择地在参数列表后指定参数类型。示例#include void my_function(x, y)int x;int y; { // 在 C++ 中无效    printf("x = %d, y = %d", x, y); } int main() {    my_function(10, 20); }输出x = 10, y = 20输出C++ 中的错误:- x 和 y 在此范围内未声明在 C 或某些旧版本的 C++ 中,... 阅读更多

C 中 fork() 和 exec() 的区别

Anvi Jain
更新于 2019-07-30 22:30:26

3K+ 浏览量

在这里,我们将了解 C 中 fork() 和 exec() 系统调用的作用。fork 用于通过复制调用进程来创建一个新进程。新进程是子进程。请参见以下属性。子进程有其自己的唯一进程 ID。子进程的父进程 ID 与调用进程的进程 ID 相同。子进程不继承父进程的内存锁和信号量。fork() 返回子进程的 PID。如果值为非零,则为父进程的 ID,如果为 0,则... 阅读更多

C 中的 pthread_self()

Nishtha Thakur
更新于 2019-07-30 22:30:26

8K+ 浏览量

在这里,我们将了解 C 中 pthread_self() 的作用。pthread_self() 函数用于获取当前线程的 ID。此函数可以唯一标识现有线程。但是,如果有多个线程,并且一个线程已完成,则可以重用该 ID。因此,对于所有正在运行的线程,ID 都是唯一的。示例#include #include #include void* func(void* p) {    printf("从函数中,线程 id = %d", pthread_self()); //获取当前线程 id       pthread_exit(NULL);    return NULL; } main() {    pthread_t thread; //声明线程   ... 阅读更多

C 中的 pthread_equal()

Smita Kapse
更新于 2019-07-30 22:30:26

222 浏览量

pthread_equal() 函数用于检查两个线程是否相等。这将返回 0 或非零值。对于相等线程,它将返回非零,否则返回 0。此函数的语法如下所示 -int pthread_equal (pthread_t th1, pthread_t th2);现在让我们看看 pthread_equal() 的实际应用。在第一种情况下,我们将检查自线程以检查结果。示例#include #include #include #include #include pthread_t sample_thread; void* my_thread_function(void* p) {    if (pthread_equal(sample_thread, pthread_self())) { //pthread_self 将返回当前线程 id       printf("线程相等");    } else ... 阅读更多

C 中的 pthread_cancel()

Anvi Jain
更新于 2019-07-30 22:30:26

622 浏览量

threa_cancel() 用于通过线程 ID 取消一个特定线程。此函数向线程发送一个取消请求以终止。pthread_cancel() 的语法如下所示 -int pthread_cancel(pthread_t th);现在,让我们看看如何使用此函数取消线程。示例#include #include #include #include int count = 0; pthread_t sample_thread; void* thread_one_func(void* p) {    while (1) {       printf("这是线程 1");       sleep(1); //等待 1 秒       count++;       if (count == 5) {          //如果... 阅读更多

C/C++ 中的 nextafter() 和 nexttoward()

Nishtha Thakur
更新于 2019-07-30 22:30:26

205 浏览量

在这里,我们将了解 C 或 C++ 中 nextafter() 和 nextforward() 函数的作用。这些函数存在于 math.h 或 cmath 库中。如果函数类似于 nextafter(a, b) 和 nextforward(a, b)。这些函数用于查找 a 之后沿 b 方向的下一个可表示值。nextforward() 具有更精确的第二个参数 b。示例#include #include main () {    //nextafter 函数()    printf ("0 之后朝向 1 的最小可表示数:%e", nextafter(0.0, 1.0));    printf ("-1 之前朝向 0 的最大可表示数:%e", nextafter(0.0, -1.0));    printf ("最大 +ve 可表示数 ... 阅读更多

关于 C 编程的有趣事实

Smita Kapse
更新于 2019-07-30 22:30:26

333 浏览量

在这里,我们将了解一些关于 C 编程的有趣事实。它们如下所示。有时,某些 switch 语句的 case 标签可以放在 if-else 语句中。示例#include main() {    int x = 2, y = 2;    switch(x) {       case 1:          ;          if (y==5) {             case 2:                printf("Hello World");          }          else case 3: {             //case 3 块       ... 阅读更多

C 中 bool 的使用

Samual Sam
更新于 2019-07-30 22:30:26

2K+ 浏览量

在 C 中,没有预定义的数据类型作为 bool。我们可以使用 enum 创建 bool。将创建一个名为 bool 的 enum,然后将 false 和 true 作为 enum 的元素。false 将位于第一个位置,因此它将保存 0,而 true 将位于第二个位置,因此它将获得值 1。现在我们可以将其用作数据类型。示例#include typedef enum {    F, T } boolean; main() {    boolean my_bool1, my_bool2;    my_bool1 = F;    if(my_bool1 == F) {       printf("my_bool1 为假");    } else { ... 阅读更多

广告