C语言基础
假装四处看风景
这个作者很懒,什么都没留下…
展开
-
C语言之自定义函数的实现
自定义函数的作用:方便管理代码,编写程序时思路清晰。代码复用,同一段代码可以在不同位置多次执行。函数声明:使用:返回值类型 函数名(类型 变量名,类型 变量名,…);例如:int sum(int num1, int num2);实际上,在函数声明时,变量的名称并不重要,只有返回值类型,函数名和变量的类型是编译器必须要知道的,因此变量名称是可以忽略的。下面的声明也是正确的:int s...原创 2019-04-21 16:48:07 · 4344 阅读 · 1 评论 -
螺旋形数组和蛇形数组的实现
目录螺旋形数组分析思路:代码实现:注意点:蛇形数组螺旋形数组输出样式:(以5X5的正方形数组为例)分析思路:可以看到数组中的数据总是在螺旋形的递增:先向右递增循环,再是向下循环,然后向左,最后向上,如此循环。因此需要5个循环。因此关键问题就是在何时改变方向。可以定义这样4个变量:右界,下界,左界,上界。在某个方法上循环递增时,只需判断它是否越过的该方向的界。如果没有越过,继续在该方法...原创 2019-04-15 22:18:08 · 314 阅读 · 0 评论 -
C语言之缓冲区
先来看一段代码: #include<stdio.h> int main() { printf("我不会被输出。。。"); while(1); }上面的main方法中只有一个printf函数和一个死循环,作用看似很简单:输出一句话然后进入死循环。但是它的实际运行结果可能会让你很意外:什么也没输出,程序就进入了死循环。printf似乎被跳过了?要解释这一现象,就要...原创 2019-04-28 13:17:34 · 1672 阅读 · 0 评论 -
C语言之printf简介
输入输出函数(printf 和 scanf)是C语言中非常重要的两个函数。输出函数的功能是将程序运行的结果输出到屏幕上,而输入函数的功能是通过键盘给程序中的变量赋值。可以说输入输出函数是用户和计算机交互的接口。其中 printf 的功能很强大,用法很灵活,比较难掌握;而 scanf 的用法相对比较固定,但也有很多需要注意的地方。本文我们先介绍printf 的用法,稍后再介绍scanf。如果在程序...原创 2019-04-29 21:49:29 · 4065 阅读 · 0 评论 -
C语言之程序在内存中的分段
程序在内存中的分段:当程序开始运行后,会加载到内存中,会把内存分成若干个段。每一段的功能、权限不同。代码段(code segment/text segment):程序中的二进制指令存储在此段,只读权限。通常是指用来存放程序执行代码的一块内存区域。只读段:存储常量、字符串字面值。可以把它和代码段合并看成一段。BSS段(bss segment):通常是指用来存放程序中未初始化的全局变量和未初始...原创 2019-05-12 22:42:33 · 1380 阅读 · 0 评论 -
C语言之变量的作用域与修饰关键字
变量的属性存储位置:变量使用的是哪一段内存作用域:变量的使用范围生命周期:创建时间~销毁时间变量的作用域全局变量:定义在函数外。存储位置:未初始化存储在bss,被初始化后存储在data作用域:整个程序。比如在a.c定义了全局变量,在b.c中也可以使用。生命周期:main函数执行前就被定义出,程序运行结束后再释放。局部变量:定义在函数内。存储位置:栈作用域:所在的函数...原创 2019-05-12 22:54:50 · 758 阅读 · 0 评论 -
C语言之指针详解(1)
什么是指针:指针(pointer)是一种数据类型(整数),这种类型定义出的变量叫指针变量(简称指针)。计算机的内存是由一个个字节组成的。内存的每个字节都有一个整数编号(十六进制),这个编号通常叫做地址。指针中存储的就是地址。 1bit 是最小的可用单位,能存储1或0;1byte = 8bit;1kb = 1024byte;1mb = 1024kb;1gb = 1024mb;1tb = 10...原创 2019-05-12 23:08:51 · 710 阅读 · 0 评论 -
C语言之字符串
字符什么是字符字符就是符号、图案,在计算机中以整数形式存储,当需要显示时会根据ASCII表中的对应关系,显示相应的符号或图案。字符类型(char)的数据(如字符A,a,0,$等)在内存中以对应的ASCII码存放,不同字符所对应的ASCII码见下表。计算机用一个字节(8个二进制位)存储一个字符,例如,字符A的ASCII码为65,它在内存中以如下形式存放:单个字符的输入/输出函数除了可...原创 2019-05-31 12:38:35 · 347 阅读 · 0 评论 -
C语言之堆内存管理
堆内存管理为什么使用堆内存栈内存的大小是有限的(堆内存的大小受物理内存限制)。栈内存中的数据释放是不受程序员控制的(函数结束后,属于它的栈内存就会被系统自动释放,它不适合长期存放数据)。如何使用堆内存堆内存无法与标识符建立对应关系(必须使用指针来指向堆内存)c语言中没有管理堆内存的语句(标准库提供了一套函数来管理堆内存)堆内存的管理和释放由程序员手动操作(显式调用函数来管理)...原创 2019-05-29 14:36:09 · 611 阅读 · 0 评论