C语言知识剖析
C语言知识点的讲解
中意_中意
这个作者很懒,什么都没留下…
展开
-
走出迷宫小游戏的实现
#include <stdio.h>#define rows 6#define cols 8//全局变量保存地图char map[rows][cols] = { {'#',' ','#','#','#','#','#','#'}, {'#','O','#','#',' ',' ',' ','#'}, {'#',' ','#','#',' ','#',' ','#'},原创 2015-09-03 22:16:38 · 960 阅读 · 0 评论 -
指针与指针之间的减法运算以及比较运算
指针与指针之间可以做减法运算,前提是指针的类型要一致指针与指针之间的减法运算,得到的结果是long类型的一个数,这个数表示这两个地址之间有多少个指针类型的值指针与指针之间,只能做减法运算,不能做加法,不能做乘法,不能做除法运用于判断两个元素之间相差多少个元素 代码:#include <stdio.h>int main(int argc, const char * argv[]){原创 2015-09-03 20:47:51 · 7480 阅读 · 0 评论 -
指针之指针数组
我们来对比一下普通变量的数组和指针数组: 普通类型的数组: int arr[4]; 指针数组: int * arr[4]; 这个指针数组中:数组名是arr,数组的类型是int *[];,这个数组能够存放4个指向int类型变量的指针#include <stdio.h>int main(int argc, const char * argv[]){ int num1原创 2015-09-03 20:33:24 · 854 阅读 · 0 评论 -
指针之函数的参数是数组的时候的本质
如果一个函数的参数是一个数组,那么他传递的是数组的地址,所以我们形参可以用一个指针类型的变量来接受这个数组的地址 看看如下代码 体会一下:#include <stdio.h>void test(int *p1,int length){ for (int i = 0; i <length; i++) { printf("%d\n",*(p1+i)); }原创 2015-09-03 20:23:24 · 571 阅读 · 0 评论 -
零基础学C语言 笔记十 指针
一句话概括:指针变量就是存放地址的变量如何声明一个指针变量 int p1 注意这里的p1是指针变量名,这个指针变量的类型是int ;而不是int既然是指针变量,则可以批量声明指针变量 赋值int num = 10;int *p1;p1 = #或者在声明的同时给这个指针赋值:int num = 10;int *p1 = #指针变量执行一个地址,也可以重新用另外一个地原创 2015-09-03 19:53:48 · 713 阅读 · 1 评论 -
零基础学C语言 笔记九 字符串
1.字符串 如果你存放的是一个字符串,那么就必须要有一个’\0’字符来表示字符串的结束 注意:char name[10] = {‘l’,’o’,’v’,’e’,’\0’};//这个字符数组的长度是10,字符串的长度是4char name1[3] = {‘l’,’o’,’v’,’e’,’\0’};存储不下,没有\0,就不安全char name2[] = {‘l’,’o’,’v’原创 2015-09-03 19:00:52 · 670 阅读 · 0 评论 -
零基础学C语言 笔记八 二维数组
二维数组 可以看成一个有行有列的面如何声明 存放数据的数据类型 数组名[行数][列数] 声明的时候,不能省略行数和列数。初始化,声明的同时给元素赋值int arr[3][4] = {{10,20,30,40},{40,50,60,70},{20,50,90,20}};int arr[][4] = {{10,20,30,40},{40,50,60,70},{20,50,90,20}};原创 2015-09-03 17:09:32 · 650 阅读 · 0 评论 -
零基础学C语言 笔记七 一维数组
数组: 1. 数组里面存放的是多个,相同数据类型的,并且这些数据代表的含义相同 2. 数组的特点: a) 能够存放多个数据 b) 多个数据的类型要一致 c) 数据的意义应该形同 d) 方便管理 3. 语法:存放的数据的数据类型 数组名[存放的数据个数]; 4. 赋值的时候,不能超出界限 5. 初始化 a) int sco原创 2015-09-03 16:32:44 · 936 阅读 · 0 评论 -
零基础学C语言 笔记六 函数
函数: 我们为什么要自己写函数呢?其实函数就是把一个个功能给封装起来,方便我们以后的调用。好处:减少代码的冗余,方便以后的维护语法: void 函数名称() { 我们需要在不同的地方需要执行的代码(函数体) } 我们程序执行的过程,还是从main函数开始,从main函数结束。 如果需要在某个地方执行一下这个函数里面包含的函数体的原创 2015-08-27 22:17:46 · 675 阅读 · 0 评论 -
零基础学C语言 笔记五 算术表达式
算术表达式: 1、如两个都是int类型的数进行求商运算,那么得到的结果也是int类型,若有除不尽的,最后的结果还是int类型的。如果要得到这个小数,我们就要把算术表达式改成小数和int类型的数相除:int main(){ int num1=10; int num2=3; float result=num1*1.0/num2; printf("re原创 2015-08-22 21:41:53 · 635 阅读 · 0 评论 -
零基础学C语言 笔记四 Scanf函数清除缓冲区
Scanf函数清除缓冲区之前涉及到scanf会先到缓冲区看看是否存在数据,若存在数据,就直接拿缓冲区的数据过来使用,这就涉及到了一个问题,那如果缓冲区的数据不是我想要的呢? 方法一:我们用scanf吸收掉 我们的代码这样写: int main(int argc, const原创 2015-08-22 15:15:22 · 1770 阅读 · 0 评论 -
零基础学C语言 笔记三 三种方法交换两个变量的值
第一种:转圈法 转一圈就搞定了 #includeint main(int argc, const char * argv[]) { //转圈法 int temp,num1=10,num2=20; temp=num1; num1=num2; num2=temp; printf("num1= %d,num2= %d\n",num1,原创 2015-08-22 15:11:33 · 908 阅读 · 0 评论 -
零基础学C语言 笔记二 scanf
今天,我们接着来写写C语言的表达式,首先我们看看scanf函数的使用:scanf函数的使用:语法:scanf(”格式字符串”,变量的地址)。那么格式字符串包含占位符。那么何为占位符呢?占位符的意思就是打印到这个地方的时候,不要原样输出,而是要让变量的值填充过去。这个在我们的printf中也是一样的,上一篇博客已经介绍了printf的使用,稍后我们继续来用printf与scanf做比较。原创 2015-08-21 21:54:56 · 708 阅读 · 0 评论 -
零基础学C语言 笔记一 变量 printf
今天写写一些零基础的C语言入门,不难,主要是细节比较多,花点心思就好。1、注释:多行注释里面可以嵌套单行注释,但是不能嵌套多行注释。2、快捷键:command+b:只检查代码有没有错误,能不能编译成功。3、main函数:程序只会执行main函数。并且一个程序当中只有一个main函数变量:1、char:给一个char 变量赋值,有且只有一个字符,空格其实也是一个字原创 2015-08-20 21:54:08 · 787 阅读 · 0 评论 -
从背后知道C语言程序是怎么运行的
现在,大家编写C语言,都用Xcode了吧,确实很方便,编译跟执行都一起进行了,只要点击command+R就搞定了。那么command+R的背后在执行了什么的过程了呢?我们一起来体验一下:终端+编译器:我们都知道在ios创建一个文件是比较不好弄的,那么我们用终端来创建一个.c文件。第一步:touch test.c我们在终端找好了路径之后,我们用touch命令就创建完成了一个test.c 文件。原创 2015-08-20 21:46:39 · 1172 阅读 · 0 评论