Day2

Linux: <鸟哥的私菜>
C: <c和指针>    //c语言三剑客

打开输入法:
     ibus-setup

Vim配置文件安装流程
1)     先将vim.tar.gz  拖动 虚拟机桌面上
2)     利用cd 命令进入桌面目录  cd   /home/fs/Desktop
3)     解压配置文件   tar  xvf  vim.tar.gz
4)     拷贝配置文件   cp  vim配置文件/.vim*  -r  ~
5)     加权限   sudo  chmod  777  ~/.vim*  -R


C语言编译流程
     Gcc 编译器
     使用: gcc   源文件   -o    ELF可执行文件
1)     预处理:替换所有以#开头的语句
gcc  -E  hello.c  -o  hello.i
2)     编译:将预处理生成的文件编译成汇编文件
gcc   -S   hello.i  -o  hello.s
3)     汇编:将汇编文件汇编成目标文件(二进制文件)
gcc  -c  hello.s  -o  hello.o
4)     链接:将目标文件与库文件链接
gcc  hello.o  -o  hello

ELF可执行文件分析





C语言知识点
1)     数据类型
int  4, short  2, long  4, long long 8
float  4,double  8, long double  12
char  1
              
2)     控制语句
if … else
switch…case
while
do … while
for
3)     数组
int  a[5]   占20B

练习:
     从键盘录入10个数, 从小到大排序并打印。
     从键盘录入10个数, 找出第二大数。(不用数组最好)


指针:
     指针定义: 用来存放内存地址。
          在32bit机中,指针都是4B
     指针运算: 指针的+1操作就是偏移指针所指向类型的大小。
               Int  *p = (int *)0x200;
               ++p;  // p = 0x204;
          任何指针都是存放内存地址,唯一不同的就是指针所指向的类型不一样
          导致指针运算的区别
     指针与数组的联系:
          指针数组:  int  *p[5];
          数组指针:  int  (*p)[5];
    
     结构体: 就是自定义数据类型
     结构体大小:对齐存储方式


练习:
用变量a作如下定义:
1)定义一个整形变量   int  a;
2)定义一个指针,指针指向一个整形变量  int *a;
3)定义一个10元素整形数组,数组存放整形变量
          int  a[10];
5)     定义一个10个指针的数组,指针指向整形变量
int  *a[10];
6)     定义一个指针,指针指向一个有10个元素的数组
int  (*a)[10];
GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐