![](https://img-blog.csdnimg.cn/20190905203206446.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
c语言学习
文章平均质量分 91
c语言学习
Z小旋
.
展开
-
数组名不等于指针---sizeof()函数求数组大小错误问题
前言: 今天在项目中需要求采样点的数量并且遍历,采样点用数组存储,自定义了一个函数想要用sizeof求其长度,然后遍历,结果失败了,查阅之后发现以下问题:在main函数中,sizeof是可以正常工作的#include <stdio.h>int Number[10]; int main(){ int size = sizeof(Number); printf("数组大小为:%d\n",size); int len = sizeof(Number)/sizeof(int).原创 2022-03-15 22:42:01 · 2646 阅读 · 2 评论 -
【C/C++】值传递和址传递区别解析
、值传递当函数被调用的时候,形参被创建,调用时带的参数被拷贝到刚创建好的形参,函数结束时,形参被摧毁。由于是参数的一个副本被传递到被调用的函数。所以,原始的参数不会被函数修改。值传递的优点: 通过值来传递的参数可以是数字,变量,表达式。参数的值不会被“被调用的函数”修改。值传递的缺点: 当函数被多次调用,值传递结构体和类会带来性能上的损害(耗时),给调用者返回值只能通过被调用函数的返回值。...原创 2021-10-22 22:39:11 · 3095 阅读 · 1 评论 -
【C/C++】C语言复制字符串及复制函数汇总(strcpy()/memcpy()/strncpy()/memmove())
头文件:#include <string.h>定义函数:char *strcpy(char *dest, const char *src);函数说明:strcpy()会将参数src 字符串拷贝至参数dest 所指的地址。返回值:返回参数dest 的字符串起始地址。原创 2021-10-20 22:14:50 · 57015 阅读 · 9 评论 -
【C/C++】 常量指针,指针常量、指向常量的常指针详解
什么是指针指针就是指向变量的地址在这里插入代码片指针常量int * const p =&a;特点:指针的指向不可以修改,指针指向的内存的值可以修改举例:*p = 20;p=&b;常量指针int a = 10;int b = 10;const int *p=&a;特点: 指针的指向可以修改,但是指针指向的值不可以修改。...原创 2021-10-17 11:23:53 · 26499 阅读 · 31 评论 -
Dev-C++/Cpp使用入门详解
Dev-C++是一个可视化集成开发环境,使用Dev可以完成C语言,C++程序的编辑、预处理/编译/链接、运行和调试。因其体积小巧,编译简单,对初学者十分友好,所以我们来简单的讲解下如何安装以及使用。安装1.双击安装包,就可以开始安装,这里语言先选择English,安装完成之后会有简体中文选项。2.否同意软件的许可协议,I Agree同意就行3.选择需要安装的组件,直接默认就行,点击Next4. 选择安装路径,点击Next5.安装完成,点击Finish第一次打开之后会让你选择语言,原创 2021-09-27 20:27:06 · 29661 阅读 · 12 评论 -
【数据结构】----C语言实现栈操作
【问题描述】假设给定的整数栈初始状态为空,栈的最大容量为100。从标准输入中输入一组栈操作,按操作顺序输出出栈元素序列。栈操作:1表示入栈操作,后跟一个整数(不为1、0和-1)为入栈元素;0表示出栈操作;-1表示操作结束。【输入形式】从标准输入读取一组栈操作,入栈的整数和表示栈操作的整数之间都以一个空格分隔。【输出形式】在一行上按照操作的顺序输出出栈元素序列,以一个空格分隔各元素,最后一...原创 2020-05-08 09:24:56 · 4793 阅读 · 2 评论 -
【C语言】模块化编程-通俗易懂
1什么是模块化模块化编程就是把我们的一整个项目,分成很多模块(比如一个学生成绩查询可以分为,登陆,查询,修改保存,退出等模块)而一个程序工程包含多个源文件(.c 文件和 .h 文件),每个 .c 文件可以被称为一个模块,每一个模块都有其各自的功能,而每一个.h文件则是声明该模块,相当于功能说明书 模块化编程在嵌入式中为必须要掌握的技能2为啥要用模块化有的同学会想,我一个main...原创 2019-10-24 20:05:28 · 40369 阅读 · 10 评论 -
【C语言】scanf语句吃掉回车或者空格问题详解
问题描述:我们经常在C语言输入的时候,会发现scanf讲空格或者回车“吃掉”了,导致程序的运行结果与预期不一致,以下面一个简单例子为例 #include<stdio.h> char str[10]; int main() { int i; for(i=0;i<10;i++) { scanf("%c",&str[i]); } for(...原创 2019-10-18 16:21:13 · 36981 阅读 · 31 评论 -
【C语言】----宏定义,预处理宏
什么是宏?宏是学习任何语言所不可缺少的,优秀的宏定义可以使得代码变得很简洁且高效,有效地提高编程效率。宏是一种预处理指令,它提供了一种机制,可以用来替换源代码中的字符串,解释器或编译器在遇到宏时会自动进行这一模式替换C语言有简单的宏系统,由编译器或汇编器的预处理器实现。C的宏预处理器的工作只是简单的文本搜索和替换,C语言的宏非常简单,我们只需要做好宏定义,其余交给编译器预处理即可C语言的...原创 2019-09-28 22:01:25 · 5604 阅读 · 2 评论 -
【c语言】指针数组和数组指针-解释和用法
数组指针与指针数组:优先级:()>[]>*首先我们要说的一个知识点是int *p[3] 和 int (*p)[3]的区别int (*p)[3] 因为()优先级高,首先说明p是一个指针,指向一个int型的一维数组, 数组有3个元素,每个元素是一个int型整数简单来说,就是int (*p)[3]是指一个指向数组的指针,它其实还是一个指针,只不过是指向数组而已...原创 2019-06-15 19:51:21 · 20470 阅读 · 8 评论 -
【C语言】C语言学习整理-putchar,printf,getchar,scanf定义及区别
1.定义花一点时间认真阅读,这篇文章应该会让您多理解一点东西。1.getchargetchar函数是字符输入函数,其功能是从键盘上获取一个输入字符。读取方式:从stdio(输入)流中读字符,相当于getc(stdin),它从标准输入(键盘)里读取下一个字符。,返回值为用户输入的ASCⅡ码,出错返回-1,用户输入的字符被存放在键盘缓冲区中.直到输入回车键才从缓冲区依次提取字符...原创 2019-05-09 19:55:03 · 6498 阅读 · 1 评论 -
【c语言】关键字存储类型讲解(auto,extern,static,register,const)
渣渣C的学习之路用最简单的话,让你最快速明白!C语言中,每一个变量和函数都有2个属性:数据类型和数据的存储类别。C的存储类别有4种:自动的(auto)、静态的(static)、寄存器的(register)、外部的(extern)。变量的存储类别对应变量的作用域与生命周期。1.externextern外部声明,简单来说:你如果要在a.c中使用b.c的一个变量avg,直接使用是会报错的...原创 2021-01-20 21:58:05 · 9050 阅读 · 4 评论 -
【C语言】运算符与操作符的用法全面汇总(非常有用)
一.‘->’的用法“->”是一个整体,它是用于指向结构体子数据的指针,用来取子数据。换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。p=p->next ,意思是将p指向的一个结构体实例中的子数据next赋值给p。->的作法就是在引用结构体中的变量!扩展资料:......原创 2019-03-09 10:54:41 · 18994 阅读 · 8 评论 -
C语言形参跟实参详解
形参与实参今天我们来说下c语言形参与实参的区别,形参跟实参理解的话也很简单,但是好多同学关于这个知识点都是一知半解,没有真正的去透彻,在真正引用的时候还会出现很多问题,而百度的时候又会说看不懂,所以我们今天来做一个比较全面的介绍我们今天讲解以简单明了易看懂为基础1.形参和实参是什么简单来说,形式参数(形参)就是形式上的参数,没有确定值,而实参是实际存在的,已经确定的参数,...原创 2019-01-29 15:27:56 · 28976 阅读 · 5 评论 -
c语言结构体学习整理(结构体初始化,结构体指针)
c语言中交换两个结构体的值(结构体指针)1关于语言的结构体:首先我们为什么要用到结构体,我们都已经学了很多int char …等类型还学到了同类型元素构成的数组,以及取上述类型的指针,在一些小应用可以灵活使用,然而,在我们实际应用中,每一种变量进行一次声明,再结合起来显然是不太实际的,类如一位学生的信息管理,他可能有,姓名(char),学号(int)成绩(float)等多种数据。如果把这些数据...原创 2018-11-01 20:22:12 · 197409 阅读 · 96 评论