- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 Day 30 在堆区创建结构体变量
#include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct students { int age; char name[10]; }Stu;\\ 此处只是声明了结构体变量,并没有为结构体分配空间 Stu *get_info() { Stu*p;\\定义结构体指针 if((p = (Stu*) malloc (sizeof(Stu)) == NULL);\\将申请到的堆区也就是动态存储区的内存
2020-08-06 22:05:46
425
原创 Day 29 指针变量的运算
int s[5]; int*p; p=s; printf("%p %p/n",p,p+2); 在以上例子中,p+2 代表了数组中第二个元素即s[2]的地址。假设p地址为0Xbf867231 那么 p+2 为0Xbf867239而不是0Xbf8672313.这是因为p指向的内容是int型数据,所以p+2要移动两个int的内存空间(8个字节)。 同理:px-py得到的结果是两个地址之间的数据个数,而不是地址量的差值 ...
2020-08-05 19:19:08
138
原创 Day 20 结构体
一、结构体框架 struct 结构体名 { 数据类型 成员名1; 数据类型 成员名2; … 数据类型 成员名n; }; 结构体类型变量的定义方法 1、先定义结构体类型再定义变量名 struct 结构体名 { 成员列表; }; struct 结构体名 变量名; 2、同时定义结构体类型与变量名 struct 结构体名 { 成员列表 }变量名1,变量名2; 3、直接定义结构类型变量(应用较少) struct //无结构体名 { 成员列表; }变量名; 结构体初始化 1、struct 结构体名 变量名 =
2020-08-03 21:52:52
126
原创 Day 26 gcc编译器与gdb调试器
最近很迷茫,不停地做实验,机械的重复。感觉时光与岁月就在电火花与促动器声中蹉跎。但是无论怎样还是要坚持自己的选择,执行自己的计划! 一、gcc所支持的后缀名 -.c c的原始程序 -.C/.cc/.cxx c++的原始程序 - .s 汇编语言的原始程序 -.o 目标文件 1、gcc gcc -E #预处理得到*.i文件 gcc -S #编译得到汇编文件*.s gcc -c #汇编处理生成.o文件 2、gdb 调试器 gcc -g test.c -o test#生成.o文件 gdb test #对t
2020-08-03 21:09:33
130
原创 Day 20 shell的结构语句
多路分支语句 命令格式: case 字符串变量 in 情况1) 命令表 ;; 情况2|情况三) 命令表 ;; *) 命令表 ;; esac 其中,命令表以双分号结束,退出case语句。当一个分支匹配多种情况时,如情况2、3所示,可以通过“|”连接。*号与c中case语句的default用法相同,即其他未列出的情况。 循环语句 命令格式: for 变量名 in 单词表 do 命令表 done for循环的三种用法:罗列式,遍历文件目录,累加式。 for i in 1,2,3,4 #罗列方式,i分别取
2020-07-28 20:58:34
81
原创 day 17 shell 脚本 命令
一、shell脚本编程步骤 1、建立shell文件(.sh) 2、赋予执行权限(chmod 740 file.sh 或者 chmod u+x file.sh) 3、执行 注:shell不支持任何的数据类型,将输入默认为字符串。 二、shell脚本中的变量 1、用户自定义变量 与c不同,shell脚本定义变量时不需要说明变量类型。 但是在调用变量时要在变量前添加美元($)。 使用unset命令可以删除变量的赋值。 2、位置变量 位置变量就是通过输入的变量在命令行中所处的位置确定变量。 **$1 $2 $3
2020-07-24 13:05:13
149
原创 Linux命令行以及常用技巧
Linux命令行 1.开机关机命令 sudo shutdown -h now\\关机 sudo shutdown -h +45 "提示语句" \\45分钟后关机 sudo shutdown -r now\\重启 sudo shutdown -r +45 \\ 45分钟后重启 2.输入命令太长或者在一行输入多个命令 若将多个命令在一行书写,在命令之间用分号(;)隔开。若命令不能在一行写完,在行尾添加反斜杠(\)。 按下两次Tab或者Esc键用于命令补齐;按下一次Tab键用于文件名补齐。 3.shell中的特
2020-07-20 21:20:12
121
原创 Day16 指针函数、函数指针、函数指针数组
指针函数、函数指针、函数指针数组 指针函数:返回值为指针的函数 函数指针:存放函数的地址,这个地址是函数的入口地址,同时也是函数名。 函数指针数组:保存若干个函数名(函数入口地址)的数组 指针函数定义形式: <数据类型>*<函数名称>(<参数说明列表>) 其中,数据类型是指函数返回值的数据类型; 函数指针定义形式: <数据类型>(*<函数指针名称>)(<参数说明列表>) 其中, 数据类型是指针指向的函数返回值的类型; 参数说明中参数数据
2020-07-20 19:53:02
77
原创 Day 15 递归函数
递归函数以及案例 **递归函数:**一个函数的本体中,直接或者间接引用了函数本身。 以阶乘函数为例。 #include<stdio.h> int mult(int s); int main() { inta,r; scanf("%d",&a); r = mult(a); printf("%d\n",r); } int mult(int s) { if(s==1|s==0) s=1; else s=s*(mult(s-1)); return s; } ...
2020-07-20 16:45:45
94
原创 c语言 二维数组/杨辉三角
二维数组 1、定义方式 <数据类型><数组名>[常量表达式1][常量表达式2] 其中,常量表达式1(行)可省略,常量表达式2(列)不可省略。 2、存放顺序:行序优先; 例: int a[3][2] 存储方式如下表所示: 存储地址 数组元素 0 a[0][0] 1 a[0][1] 2 a[1][0] 3 a[1][1] 4 a[2][0] 5 a[2][1] 输出杨辉三角: 编程思路: 首先建立一个二维数组; 在for循环中,利用if语句,将列数
2020-07-05 16:16:56
1221
原创 新手上路-Day 5 数组学习
新手上路 机械在读研究生,编程小白,目前在自学嵌入式系统。 为了督促自己的学习,同时也对每天的学习进行回顾。在此分享我自己的学习成果,以及有趣的小程序。希望各位大神不吝赐教! Day5 数组学习 一维数组: 一维数组:只有一个下标,在内存中连续存储。 一、定义一维数组的几种方式: <存储类型><数据类型><数组名>[<表达式>]; static int a[5]; \\默认数组元素初始化为0; int a[5] = {1,2,3};\\默认a[3] a[4]
2020-07-05 13:49:56
153
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人