C语言
文章平均质量分 72
CheersBilibili
简单的事重复做,重复的事用心做,用心的事坚持做。
展开
-
人生若只如初见——初识指针
下面是一个简略的程序,没有按照标准格式写,大家只需要清楚黑色字体是写在主函数里的,绿色字体当做注释看便可。 int a = 1;int b = 2;int c = 3;int* p = &a; 定义 P 为指针变量,保存的是 a 的地址。这里的 * 是为了说明该变量被定义为了指针变量,int说明该指针变量的类型是整型。整型的指针变量必须保存整型的地址值,即即...原创 2018-03-30 13:25:18 · 381 阅读 · 0 评论 -
一点樱桃启绛唇——C语言反斜杠 “\” 的意义
1. 有些字符,如:回车、换行、制表符等没有现成的字符代号,所以用反斜杠“\”和其后的一个字符作为一个整体来看待,用来代表他们。所以反斜杠“\”作为转义字符的开端存在,其本身被赋予了这一特殊意义。2. 在C语言中,很多字符有其特殊含义,如:双引号代表其中内容为字符串,单引号是单个字符,还有我们刚才说的反斜杠“\”,是转义符的开端。但有时候我们只需要使用这些普通的符号,却总是会被系统误认为其...原创 2018-05-07 12:43:10 · 5624 阅读 · 0 评论 -
寂寞空庭春欲晚——动态内存
使用动态内存分配时必须的头 #include<stdlib.h> 或#include<malloc.h> 一、malloc 函数(memory allocation 内存分配) :用于申请一块连续的指定大小的内存区域,如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定,是随机的垃圾值),否则返回空指针NULL。例如:int *p1 = (...原创 2018-05-03 19:21:50 · 226 阅读 · 0 评论 -
一剑霜寒十四州——浅析内存分区(浅显)
以上是我们对内存区域的一个简单的划分,其中包括:代码段、全局(静态)变量区、栈以及堆,接下来让我们看看一些常见的内容分别位于哪个区域内,并对其生命周期、作用域、默认值、链接属性进行总结。 一、全局变量:定义在函数外部的变量生命周期:从程序运行开始创建,程序结束销毁(太占内存)作用域:从定义该变量开始,一直到文件的结束默认值:0内存区域:全局(静态)变量区链接属...原创 2018-05-02 09:39:47 · 207 阅读 · 0 评论 -
日映岚光青锁翠——二维数组
我们知道二维数组一般是这样定义的:int arr[3][4] = {{1,2,3,4},{5,6,7,8,},{9,10,11,12}};当然也可以这样定义int arr[][4] ={{1,2,3,4},{5,6,7,8},{9,10,11,12}}int arr[][4] ={1,2,3,4,5,6,7,8,9,10,11,12}我们可以省略行号不写,因为系统可以根据每行的...原创 2018-04-17 14:03:11 · 448 阅读 · 0 评论 -
鸿雁长飞光不度——字符串常量与字符数组
char arr[ ] = “abcde” //字符串char brr[10] = {‘a’,‘b’,‘c’} //字符串char crr[ ] = {‘a’’b’’c’’d’’e’}; //字符数组char *drr = “abcde”; ...原创 2018-04-13 21:31:02 · 371 阅读 · 0 评论 -
画梁春尽落香尘—— C语言中const 规则探究
一、数据类型对const而言是透明的。例如: const int a = 100; int const a = 100; const可以放在数据类型的两侧,两者是等价的。 二、const 用于封锁直接修饰的内容,并将该内容的属性变为只读例如: 1、 int cons...原创 2018-04-12 11:29:55 · 244 阅读 · 0 评论 -
指针和数组的关系及本质
文章开始我们先解释一下为什么 arr[i] == *(arr + i) 。在C语言中,数组名代表的是数组中首元素的地址。在程序编译时,arr[i] 是按照 *(arr + i)处理的,即按照数组元素的首地址加上相应位移量找到新元素的地址,然后解引用,便得到此处的值。接下来我们定义一个整形指针,通常会这么写 int *p = arr;这里为了方便理解我这样写也可以int *p;p = ...原创 2018-04-05 13:15:14 · 341 阅读 · 0 评论 -
指针运算探究
有以下程序:int main(){ int arr[] = {1,2,3,4,5,6,7,8,9,10}; int *p = arr; *p = 10; p++; *p = 20; printf("十进制 %d,%d\n",arr[0],arr[1]); printf("十六进制 %08x,%08x\n",arr[0],arr[1]); return 0;...原创 2018-04-04 11:56:21 · 340 阅读 · 0 评论 -
形参与实参
在C语言中,我们经常用到形参和实参这一对双生姐妹花,就像《大话西游》里的紫霞和青霞。比如我们可以用她们来达到一些很简单的需求,还是从经典的交换两个数字a,b的值开始。我们有以下程序:void Swap(int x,int y){ int tmp; tmp = x; x = y; y = tmp; printf("%d,%d\n",x,y);}int mai...原创 2018-04-02 16:53:05 · 567 阅读 · 0 评论 -
心有灵犀一点通——初识结构体
结构体(structre):用户自己建立的,由不同类型数据组成放入组合型的数据结构。下面我们声明一个结构体名为Student的结构体类型,有2个成员,char型和int 型struct Student{ char name[20]; int age; }我们由下面这张图对其进行详细分析: 声明完成后,我们就可以...原创 2018-05-03 19:47:13 · 323 阅读 · 0 评论