内部链接的静态变量

作者:追风剑情 发布于:2019-12-12 19:23 分类:C

示例 computer.c // 外部链接 int traveler = 1; // 内部链接 static int stayhome = 1; Main.c //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include...

阅读全文>>

标签: C语言

评论(0) 浏览(20)

随机数函数和静态变量

作者:追风剑情 发布于:2019-12-10 19:35 分类:C

示例 s_and_r.c文件 //next是具有内部链接的文件作用域静态变量 //其他文件中的函数无法访问next static unsigned long int next = 1; /* 种子 */ //采用ANSI C可移值的标准算法 int rand1(void) { /*生成伪随机数的魔术公式*/ next = next * 110351524...

阅读全文>>

标签: C语言

评论(0) 浏览(24)

_Atomic类型限定符

作者:追风剑情 发布于:2019-12-9 19:42 分类:C

      并发程序设计把程序执行分成可以同时执行的多个线程。这给程序设计带来了新的挑战,包括如何管理访问相同数据的不同线程。C11通过包含可选的头文件stdatomic.h和threads.h,提供了一些可选的(不是必须实现的)管理方法。值得注意的是,要通过各种宏函数来访问原子类型。当一个线程对一个原子类型的对象执行原子操作时,其他线程不能访问该对象。例如,下面的代...

阅读全文>>

标签: C语言

评论(0) 浏览(46)

restrict类型限定符

作者:追风剑情 发布于:2019-12-5 20:18 分类:C

restrict关键字允许编译器优化某部分代码以更好地支持计算。它只能用于指针,表明该指针是访问数据对象的唯一且初始的方式。 int ar[10]; int * restrict restar = (int *)malloc(10 * sizeof(int)); int * par = ar; 这里,指针restar是访问由malloc()所分配内存的唯一且初始的方式。因此,...

阅读全文>>

标签: C语言

评论(0) 浏览(114)

volatile类型限定符

作者:追风剑情 发布于:2019-12-4 19:28 分类:C

        volatile限定符告知计算机,代理(而不是变量所在的程序)可以改变该变量的值。通常,它被用于硬件地址以及在其他程序或同时运行的线程中共享数据。例如,一个地址上可能储存着当前的时钟时间,无论程序做什么,地址上的值都随时间的变化而改变。或者一个地址用于接受另一台计算机传入的信息。 volatile的语法和const一样: ...

阅读全文>>

标签: C语言

评论(0) 浏览(112)

存储类别和动态内存分配

作者:追风剑情 发布于:2019-11-28 19:47 分类:C

       存储类别和动态内存分配有何联系?我们来看一个理想化模型。可以认为程序把它可用的内存分为3部分:一部分供具有外部链接、内部链接和无链接的静态变量使用;一部分供自动变量使用;一部分供动态内存分配。        静态存储类别所用的内存数量在编译时确定,只要程序还在运行,就可以访问储存在该部分的数据...

阅读全文>>

标签: C语言

评论(0) 浏览(122)

动态内存分配和变长数组

作者:追风剑情 发布于:2019-11-27 20:07 分类:C

       变长数组(VLA)和调用malloc()在功能上有些重合。例如,两者都可用于创建在运行时确定大小的数组。不同的是,变长数组是自动存储类型。因此,程序在离开变长数组所在的块时,变长数组占用的内存空间会被自动释放,不必使用free()。另一方面,用malloc()创建的数组不必局限在一个函数内访问。例如,可以这样做:被调函数创建一个数组并返回指针,...

阅读全文>>

标签: C语言

评论(0) 浏览(126)

动态分配内存calloc()

作者:追风剑情 发布于:2019-11-26 20:46 分类:C

       和malloc()类似,在ANSI之前,calloc()也返回指向char的指针;在ANSI之后,返回指向void的指针。如果要储存不同的类型,应使用强制类型转换运算符。calloc()函数接受两个无符号整数作为参数(ANSI规定是size_t类型)。第1个参数是所需的存储单元数量,第2个参数是存储单元的大小(以字节为单位)。calloc()函...

阅读全文>>

标签: C语言

评论(0) 浏览(133)

动态分配内存malloc()和free()

作者:追风剑情 发布于:2019-11-25 19:41 分类:C

示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <ctype.h> //malloc()、free() #include...

阅读全文>>

标签: C语言

评论(0) 浏览(128)

C语言—命令行参数

作者:追风剑情 发布于:2019-11-20 19:53 分类:C

示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <ctype.h> //atof()、atol() #include &...

阅读全文>>

标签: C语言

评论(0) 浏览(143)

C语言—字符串转数字

作者:追风剑情 发布于:2019-11-14 19:51 分类:C

示例一:利用atoi()、atol()、atof()函数实现字符串转数字 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <ctype....

阅读全文>>

标签: C语言

评论(0) 浏览(134)

C语言—ctype.h字符函数和字符串

作者:追风剑情 发布于:2019-11-13 19:42 分类:C

ctype.h存放了与字符处理相关的函数。ctype.h中的函数通常作为宏(macro)来实现。这些C预处理器宏的作用很像函数,但是两者有一些重要的区别。 示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h&g...

阅读全文>>

标签: C语言

评论(0) 浏览(140)

C语言—字符串排序

作者:追风剑情 发布于:2019-11-11 19:36 分类:C

示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #define SIZE 81 // 限制字符串长度,包括\0 #define LIM 20 // 可读入的最大行数 ...

阅读全文>>

标签: C语言

评论(0) 浏览(155)

C语言—strstr()

作者:追风剑情 发布于:2019-11-6 21:19 分类:C

char * strstr(const char *s1, const char *s2)该函数返回s1字符串中s2字符串出现的首位置。如果s1中没有找到s2,则返回空指针。 示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <...

阅读全文>>

标签: C语言

评论(0) 浏览(139)

C语言—strrchr()

作者:追风剑情 发布于:2019-11-5 19:42 分类:C

char * strrchr(const char * s, int c)该函数返回s字符串中c字符最后一次出现的位置(末尾的空字符也是字符串的一部分,所以在查找范围内)。如果未找到c字符,则返回空指针。 示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNING...

阅读全文>>

标签: C语言

评论(0) 浏览(154)

C语言—strpbrk()

作者:追风剑情 发布于:2019-11-4 20:27 分类:C

char * strpbrk(const char *s1, const char * s2) 搜索s1中是否包含s2中的任意字符。 示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #includ...

阅读全文>>

标签: C语言

评论(0) 浏览(137)

C语言—strchr()

作者:追风剑情 发布于:2019-11-4 19:25 分类:C

strchar()用来搜索字符串中是否包含指定字符。 示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> //argc: 参数个数 argv[...

阅读全文>>

标签: C语言

评论(0) 浏览(142)

C语言—sprintf()

作者:追风剑情 发布于:2019-11-3 21:58 分类:C

sprintf()用来格式化字符串。 示例: //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #define MAX 20 char * s_gets(char * st, int n); ...

阅读全文>>

标签: C语言

评论(0) 浏览(134)

C语言—strncpy()

作者:追风剑情 发布于:2019-10-31 19:59 分类:C

strncpy()函数用来拷贝字符串,第三个参数指明要拷贝多少个字符,当遇到空字符时或者拷贝了指定个数的字符时,则停止拷贝。 示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include &l...

阅读全文>>

标签: C语言

评论(0) 浏览(155)

C语言—strcpy()

作者:追风剑情 发布于:2019-10-30 19:56 分类:C

strcpy()函数用来拷贝字符串。 示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdbool.h> //引入字符串函数string.h //一些ANSI...

阅读全文>>

标签: C语言

评论(0) 浏览(140)

C语言—strncmp()

作者:追风剑情 发布于:2019-10-30 19:16 分类:C

strncmp()可以只比较字符串的前面几个字符。 示例 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdbool.h> //引入字符串函数string.h /...

阅读全文>>

标签: C语言

评论(0) 浏览(138)

C语言—strcmp()

作者:追风剑情 发布于:2019-10-29 19:40 分类:C

strcmp()函数用来比较两个字符串内容是否相等。 示例: 比较字符串 //Visual Studio中加上这句才可以使用scanf() //否则只能使用scanf_s() #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdbool.h> //引入字符串函数str...

阅读全文>>

标签: C语言

评论(0) 浏览(155)

Powered by emlog  蜀ICP备18021003号   sitemap

川公网安备 51019002001593号