C语言
stitch389
这个作者很懒,什么都没留下…
展开
-
static关键字的作用
一、修饰变量静态全局变量,作用域仅限于变量被定义的文件中,其他文件即使用 extern 声明也没法使用他。准确地说作用域是从定义之处开始,到文件结尾处结束,在定义之处前面的那些代码行也不能使用它。想要使用就得在前面再加 extern ***。恶心吧?要想不恶心,很简单,直接在文件顶端定义不就得了。静态局部变量,在函数体里面定义的,就只能在这个函数里用了,同一个文档中的其他函数也用不了。由于被 static 修饰的变量总是存在内存的静态区,所以即使这个函数运行结束,这个静态变量的值还是不会被销毁,翻译 2020-11-12 15:44:46 · 159 阅读 · 0 评论 -
uint8_t、uint16_t、uint32_t、uint64_t
它们都是用 typedef 定义的数据类型,它包含在头文件<stdint.h>中。对整型而言:uint8_t为1字节uint16_t为2字节uint32_t为4字节uint64_t为8字节具体定义为:typedef signed char int8_t;typedef short int16_t;typedef int int32_t;typedef long long int64_t.原创 2020-11-12 15:26:51 · 9923 阅读 · 0 评论 -
函数指针与指针函数
首先明确符号 * 与 () 的优先级: () 的优先级高于 *指针函数:返回值是指针的函数函数指针:指向一个函数的指针int * ToUp(char *);这是一个“具有类型为 char * 的参量,返回类型是 int * 的指针”int * ToUp(char *){ int *p; return p;}int (*p)(char *);这是一个指向函数的指针,而这个函数的参量类型是 char *,返回值类型是 int.(*p) 意味着 p 是一个指向函数的指针int.原创 2020-11-12 15:17:39 · 274 阅读 · 1 评论 -
结构体使用中 -> 和 . 的区别
->用于结构体指针,X->Y与(*X).Y等价,(*X).Y是指针X指向的结构体中的Y.用于结构体struct book{ int num; char word;};int main(){ struct book* A; struct book B { 9, 'C' }; A = &B; printf("%d\t%c\n", B.num, B.word); printf("%d\t%c\n", A->num, A->word); pri原创 2020-11-12 11:54:18 · 519 阅读 · 0 评论 -
C语言txt文件排序
插入排序void InsertionSort(int A[], int N){ int j,p; int tmp; for(p = 1; p < N; p++) { tmp = A[p]; for(j = p; j > 0 && A[j-1] > tmp; j--) A[j] = A[j - 1]; A[j] = tmp; }}希尔排序void Shellsort(int A[], int N){ int i,j,k,原创 2020-09-24 10:06:01 · 1658 阅读 · 0 评论 -
C语言按行读文件与读文件中每一个字符
这里写自定义目录标题1.按行读取文件,分别获得文件中的每一行。2.读取文件中的每一个字符并写入字符串数组。1.按行读取文件,分别获得文件中的每一行。char Buffer[100];fp = fopen (“filename”, “r”);while(fgets(Buffer,sizeof(Buffer)-1,fp)){printf("%s\n",Buffer);}//每一次循环得到新的一行并写入Buffer2.读取文件中的每一个字符并写入字符串数组。char Buffer[100];原创 2020-06-19 14:26:35 · 2796 阅读 · 0 评论