- 博客(7)
- 收藏
- 关注
原创 宏定义和自定义之间的区别和联系
各种宏定义和自定义之间的区别和联系1、#define 定义的宏函数和自定义函数的比较(优缺点);(1)代码长度:#define宏:每次使用时,宏代码都被插入到程序中,程序的长度将大幅度增长;函数:函数代码只出现于一个地方:每次使用这个函数时,都调用那个地方的同一份代码;(2)执行速度:#define宏:更快函数:存在函数调用、返回的额外开销;(3)操作符优先级:#define宏:宏参数的求值是在所有周围表达式的上下文环境里,除非它们加上括号,否则邻近操作符的优先级可能产生不可预料的结果。函数:
2021-03-15 14:59:50
594
转载 C库中部分str函数的用法
C语言str系列库函数在不同的库中有不同的实现方法,但原理都是一样的。因为库函数都是没有进行入口参数检查的,并且str系列库函数在面试中经常容易被面试官喊在纸上写某一个函数的实现,因此本文参考了OpenBSD和vc++ 8.0库中的代码,结合自己的编程习惯,部分整理如下:1、strcpychar * strcpy(char *dst, const char *src) { char *d; if (dst == NULL || src == NULL)
2021-03-15 14:41:24
217
原创 C中左值++和右值++的问题
C/C++中左值++和右值++自增运算符作为笔试中的常考题型,出现概率极高,需要考虑++的运算顺序和优先级,必须要一步一步按序分析,否则一步错全部错;++操作在不同的编译器中执行的结果也会不同,具体结果看具体的编译器执行方式。分析题目之前,我们需要弄懂前置++和后置++的区别,这样即使题目千变万化,基本运算规则不会改变。a++:程序执行a所在的语句之后,最后再执行+1操作;++a:程序在执行a所在的语句之前,先执行+1操作。1、入门题:#include <stdio.h>int
2021-02-03 11:54:00
928
1
原创 C中部分关键字的作用
const/static在C/C++中的作用(简写)static:C中:修饰局部变量:静态变量,存放在静态数据区,改变变量的生命周期,直到程序结束释放;修饰全局变量:静态变量,存放在静态数据区,改变变量的作用域,其他文件不能通过extern引用;修饰函数:改变函数的作用域,只能在本文件中被调用;C++中:修饰成员变量:多个对象共享同一个静态成员变量,既能通过对象访问,也能通过类名访问;需要在类的外部初始化;修饰成员函数:只能访问静态成员变量,既能通过对象调用,也能通过类名调用。#inclu
2021-02-03 11:52:33
98
原创 C中关键字
C语言中的三个重要关键字的作用C语言中static关键字的作用作用:修饰局部变量:(改变局部变量的生命周期)普通局部变量(即未加static修饰)在未进行赋值和申请地址时,系统都会默认给定一个垃圾值和随机地址,在其所在程序执行完后,系统会释放其地址;而被static进行修饰的局部变量,在程序执行结束后,依旧保存在相对应的地址,当本段程序再次被调用时,依旧存有上次运行后的结果。#include <stdio.h>void p(){ int i = 1; printf("
2020-11-26 13:46:34
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅