随笔分类 - C基础
摘要:简单日志输出: Attention: fwrite(szStr,256,1,fp); // fwrite(szStr,strlen(szStr),1,fp); 日志会出现乱码的情况 fopen()函数: 函数声明:include<stdio.h> 函数原型:FILE *fopen(const cha
阅读全文
摘要:Linux C关于输出函数的定义: va_list ap; //首先定义了一个va_list类型的变量 void va_start(va_list ap, last); //va_start的第一个参数va_list变量,第二个参数为函数的最后一个固定参数 void va_end(va_list a
阅读全文
摘要:函数样例: 运行结果: exbot@ubuntu:~/wangqinghe/DeBug/20190702$ gcc sum.c -o sum exbot@ubuntu:~/wangqinghe/DeBug/20190702$ ./sum 10 20 30 0 argument is 10.000 s
阅读全文
摘要:一个函数可以接受不定数的参数个数,这就是可变参数函数,比较常见的比如printf(),scanf(); 变量参数函数的简单实现: 结果如下: exbot@ubuntu:~/wangqinghe/DeBug/20190702$ ./VA num:5, vl:1020625376 in for resu
阅读全文
摘要:与堆操作相关的两个函数 malloc 运行结果:(linux) exbot@ubuntu:~/wangqinghe/C/20190630$ ./malloc 0 0 0 0 0 0 0 0 0 0 全是0表示分配的这块内存没有用过。 相同的代码在windows环境下运行必须将 char *p = m
阅读全文
摘要:1.代码区: 代码区Code,程序被操作系统加载到内存的时候,所有的可执行代码都加载到代码区,也叫代码段,这块内存是不可以在运行期间修改的。 2. 静态区 所有的全局变量以及程序中的静态变量都存储在静态区。 3.堆区 对于一个32位操作系统,最大管理4G内存,其中1G是给操作系统自己用的,剩下的3G
阅读全文
摘要:1. 内存作用域 作用域:一个变量的作用域就是一个{}中。可以在mian函数中用一个{}来隔绝两个相同的变量名。 extern 使用: a.c: main.c extern int age; //有一个变量,类型是int,名字是age,已经在同文件下其他文件中定义了,直接//使用就好了,不需要再重新
阅读全文
摘要:随机数产生器rand(),头文件为#include<stdlib.h> 运行结果: value = 41 value = 18467 value = 6334 value = 26500 value = 19169 value = 15724 value = 11478 value = 29358
阅读全文
摘要:1.清除字符串中右边的空格 从字符串尾部开始,找到非空格处,将下一个字符置为0即可。 2.清除字符串左边的空格。 确定字符串左边有多少个空格; 将字符串整体左移空格数 将字符串最后位置0
阅读全文
摘要:因为汉字占一个以上字节,如何统计一个既有汉字又有字母的字符串呢? 汉字在计算机中的ASCII是以负数来与其他普通字符的ASCII区分的。 所以想要统计混合字符串中字符个数,就要用到这个特性。 输出结果:5
阅读全文
摘要:在计算机中,一个汉字用无法用1个字节来表示 在windows下采用gbk字符编码,一个汉字采用两个字节表示,所以windows环境下对于汉字的逆置就需要考虑两个字节的整体交换 而在linux环境下,采用的utf-8的汉字字符编码,所以逆置就需要考虑三个字符的整体交换
阅读全文
摘要:#include void swap(int* a,int *b) { /* int temp = *a; *a = * b; *b = temp; */ *a += *b; *b = *a - *b; *a = *a - *b; } int main() { int a = 10; int b = ...
阅读全文
摘要:#include int add(int a,int b) { return a+b; } int main() { void *p(int,char *); //声明了一个函数 ,函数名为p,函数返回值为void*,函数的 void (*p)(int,char *);//定义了一个指向参数为int和char*返回值为void的函数指针 //定义一...
阅读全文
摘要:#include #include char *mystrchr(char *s,char c) { while(*s) { if(*s == c) { return s; } s++; } return NULL; } int main() { char str...
阅读全文
摘要:#include int main() { int buf[3][5] ={{1,2,3,4,5},{4,5,6,7,8},{7,8,9,10,11}}; int i; int j; //求行平均值 for(i = 0; i < 3; i++) { int sum = 0; for(j = 0; j < 5; j...
阅读全文
摘要:#include //#include //二位数组作为函数参数时,可以不指定第一个下标 void print_buf(int (*p)[3],int a,int b) //void print_buf(int p[][3],int a,int b) { int i,j; for(i = 0 ; i < a; i++) { for(j = 0; ...
阅读全文
摘要:定义 说明 int i 定义整形变量 int *p 定义一个指向int的指针变量 int a[10] 定义一个int型数组 int *p[10] 定义一个指针数组,其中每个数组元素指向一个int变量的地址 int (*p)[10] 定义一个数组指针,指向int[10]类型的指针变量 int func
阅读全文
摘要:windows环境 windows环境下,带参函数输出,找到该运行文件的debug,用cmd命令运行 比如我的文件位于E:\VS2013\main-a\Debug 在cmd命令行中输入一下步骤 就可以显示出带参程序的运行结果了 linux环境下 编译运行结果如下; ps: argc代表程序执行时有几
阅读全文
摘要:#include #include char *mystrchr(char *s,char c) { while(*s) { if(*s == c) { return s; } s++; } return NULL; } int main() { char str...
阅读全文