
C语言
沈溪溪
这个作者很懒,什么都没留下…
展开
-
C语言之define与typedef的区别
在下面举一个例子 #define IP int * typedef int *IP 一眼看过,好像这两种形式,没有区别 #define IP int * IP p,q;//这个代码就等价与int *p,q; 这个就是定义了一个int指针变量和一个int变量 但是如果使用typedef IP p,q;//这个代码就等价与int *p,*q; 创建的就是两个int类型的指针变量 ...原创 2021-12-24 14:42:52 · 539 阅读 · 0 评论 -
C语言之动态内存管理
C语言之动态内存管理1、动态内存主要涉及的函数2、原则3、内存错误案例4、野指针 1、动态内存主要涉及的函数 void *malloc(size_t size); void free(void *ptr); void *calloc(size_t nmemb, size_t size); void *realloc(void *ptr, size_t size); 2、原则 谁申请谁释放 3、内存错误案例 在这个案例中,出现了严重的地址泄漏。因为,P通过传参过去,函数里面的P已经和主函数的不是一个*P,所原创 2021-12-24 14:21:41 · 1630 阅读 · 0 评论 -
c语言数组练习题
1、fibonacci数列的前十项,并实现逆序排列 #define FIB_SUM 10 static void test1(void) { int fib[FIB_SUM] = { 1 , 1 }; //正序 for( int i = 2 ; i < FIB_SUM ; i++ ) fib[ i ] = fib[ i - 1 ] + fib[ i - 2 ]; //打印原创 2021-12-16 11:01:09 · 1033 阅读 · 0 评论 -
c语言流程控制习题练习
题目1: A以10%的单利息投资了100美元,B以每年5%复合利息投资了100美元 。编写一程序,计算需要多少年B的投资总额才会超过A的投资总额度,并且 显示出到那个时刻两个人的各自的资产总额。 #define MONEY_A 100 #define MONEY_B 100 static void test1(void) { //初始化A,B的金额为100 float A = MONEY_A , B = MONEY_B; int num = 0;//计算原创 2021-12-15 13:11:19 · 1280 阅读 · 0 评论 -
c工程错误定位(封装printf实现的错误等级和错误代码位置提示)
实现了代码报错的等级显示和代码行数显示 使用了c语言的动态传参 需要使用到这个头文件 #include “stdarg.h” 具体内容可以看这个网站 链接: https://www.runoob.com/cprogramming/c-standard-library-stdarg-h.html. #include "log.h" /* 简要:打印任务等级读取接口 */ static char *EM_LOGLevelGet(const int level) { switch(level) {原创 2021-08-22 14:22:47 · 269 阅读 · 0 评论