C
茶屋Teahouse
一条正在成长的小咸鱼,请多指教
展开
-
理解C/C++中的左值与右值
左值与右值?左值(L-value)与右值(R-value),二者之间的区别是什么?左值与右值01这两个术语是多年前由编译器设计者所创造并沿用至今的,尽管它们的定义并不与C语言严格吻合。02左值就是那些可以出现在赋值符号左边的东西;右值就是那些可以出现在赋值符号右边的东西。这样的解释有些脱下裤子放屁的意思,通过名称我们也能得出左值和右值的意思,那么应该出现在赋值符号左边的东西是什么呢?031. a = b + 1;2. b + 1 = a;在语句1中,a是一个左值,因为它标识了一个可原创 2021-05-29 20:14:56 · 211 阅读 · 0 评论 -
详解结构体
原文地址: https://myjinji.top/articles/2020/11/15/1605404898205.html原创 2020-11-17 16:51:27 · 98 阅读 · 0 评论 -
c语言的动态内存
前言在C语言中,除了获取变量的指针这种规矩的内存空间,我们还可以通过函数去申请指定大小的内存空间动态mallocmalloc可以申请一块任意尺寸的空间,因为经常一段空间是连续的#include <stdio.h>#include <stdlib.h>int main(void) { int *ptr = NULL; ptr = (int *) malloc(sizeof(int)); // malloc() 返回一个void *类型指针 if (原创 2020-09-23 15:56:54 · 111 阅读 · 0 评论 -
C函数与指针高阶操作
Q有一个名为selectMode的函数,它本身有一个char类型的参数,返回值是一个函数指针。这个函数指针也有两个参数,并且返回值类型为整形int *fp(int, int) selectMode(char);想法很好,但是编译器却一点都看不懂,因为这应该是两个语句,被糅杂到一行里,所以它就直接报错了那我们一步一步来解析首先,这个函数名为selectMode,所以我们要以selectMode为主体去写第二,selectMode函数有一个char类型的参数selectMode(char);原创 2020-09-02 16:33:08 · 249 阅读 · 1 评论 -
C语言函数与指针进阶操作
前言学了这么久指针,发现它是真的包罗万象,不愧为C语言的精髓指针函数和之前的指针数组一样,指针数组是个数组,里面的元素都是指针;指针函数也类似,指针函数是个函数,而这个函数的返回值是指针写法也没差太多like:int* pointfunction(void);int * pointfunction(void);int *pointfunction(void);这三种写法哪一种都可以,第一种更直观一点,在阅读代码时也好理解例子char *getWord(char);char *ge原创 2020-08-29 07:59:04 · 227 阅读 · 0 评论 -
震惊!指针与常量还有这种关系
(https://www.myjinji.top/articles/2020/08/13/1597319958469.html)[https://www.myjinji.top/articles/2020/08/13/1597319958469.html]原创 2020-08-15 14:16:48 · 206 阅读 · 0 评论 -
详解scanf和getchar
原文地址: https://myjinji.top/articles/2020/07/22/1595399358246.htmlheaderscanf 和 getchar 都是c中的输入函数,但它们在用法和原理上有着不同的地方,在刚开始使用时犯了很多错误,写篇博客总结一下;scanfint scanf(const char *format, ...)scanf() 函数属于格式化函数,按照指定的既定格式从键盘上将数据输入到指定的变量中;因为在 scanf() 语句中的格式中没有非格式字符在.原创 2020-07-24 20:03:18 · 285 阅读 · 0 评论