C语言基础
太阳822
这个作者很懒,什么都没留下…
展开
-
检查内存泄漏
检查程序内存泄漏的办法先看以下一段代码#include <mcheck.h>#include <stdio.h>#include <stdlib.h>int main(){ char *p = malloc(10); char *p1 = malloc(10); return 0;}很明显我们malloc了一块空间后没有free,存在内存泄漏,那么怎么检测呢。再看下面的代码#include <m原创 2022-03-25 16:34:52 · 520 阅读 · 0 评论 -
字母大小写转换
如何实现不论输入大写还是小写都统一转换为大写或小写大小写字母转换除了十进制加减的方法还有就是位运算大小写统一转换为小写:可以把字母统一或上16进制的0x60,例如’A‘ | 0X60,得出的就是小写的’a’,当使用’a’ | 0x60时,得出的结果还是’a’大小写统一转化为大写:可以把字母统一与上16进制的0x60,例如’A‘ & 0Xfd,得出的就是大写的’A,当使用’a’ | 0xfd时,得出的结果还是’A’...原创 2022-02-22 15:22:17 · 2105 阅读 · 0 评论 -
指针作为参数传递
文章目录一、当指针作为形参传递二、提示一、当指针作为形参传递当指针作为形参传递时,如何在子函数中修改指针所指向的字符串常量内容呢.看以下测试代码void test(char *p){ p = "666";}int main(){ char *p = "test"; test(p); printf("%s\n",p); return 0;}以上代码指针P本来指向的是字符常量区的test的空间,现在把P这原创 2021-06-27 21:36:45 · 5942 阅读 · 3 评论 -
指针+1(指针++)
指针 +1(指针++)问题我们都知道指针存放的是内存的一块地址,那么(指针++)意思是指针的地址+1吗 int a = 2; int *p = &a; printf("%p\n",p); printf("%p\n",++p);结果为0x7ffc87cd74ac0x7ffc87cd74b0我们可以看出指针+1后实际地址移动了4个字节,也就是一个int型的大小。所以我们可以得出这样一个结论,指针++(指针+1)移动的大小由指原创 2021-06-26 21:40:36 · 4199 阅读 · 2 评论 -
函数指针和指针函数
函数指针和指针函数的区别一、函数指针本质上是一个指针,它指向的是一个函数的地址。1.如何定义一个函数指针:void(*p2)(int a,int b);函数指针是专用的。格式要求很强 返回值,参数类型,个数都必须相同。2.如何给函数指针赋值:void data(int a,int b){ }int main(){ void(*p2)(int a,int b);//声明一个函数指针 int a = 10,b = 20; p2=data;//初始化函数指针(给函数指针赋值)原创 2021-05-07 10:34:23 · 4069 阅读 · 1 评论 -
函数的命名规则
函数的命名规则命名介绍C程序中使用的变量名,函数名,库号等统称为标识符。在C语言中,除了库函数的函数名由系统定义外,其余都是用户自定义的。一、命名标准C语言中规定,标识符只能是由字母(A-Z和a-z)、数字(0-9)、下划线(_)组成的字符串,并且第一个字符必须是字母或者下划线。二、例程1.以下命名是合法的ax_3xBOOK_1sum52以下命名是非法的3s (以数字开头)s*T (出现非法字符)-3x (以减号开头)bowy-1 (出现非法字符原创 2021-04-24 12:37:19 · 6251 阅读 · 1 评论