C语言补习知识点~华清远见上课笔记

Linux:

shell命令

路径:

绝对路径:/

相对路径:~

cd 路径名

ls 目录所有列出

ls -l 包括详细信息

mkdir ~/加文件名新建文件夹

pwd 查看当前的绝对路径

/home/farsight/*  普通用户起始(家目录~)

sudo 提升权限进行root操作

rm   删除(文件)

rm -rf aa (文件夹)

cp  文件名  路径

cp  a.c  ~/WorkSpace

.  当前路径

..  返回上一级  ../..上上级

gcc a.c -o aa(指定文件名) 



内存图:

Kernel(3-4个G)

环境变量(以下的为0-3个G的内存空间)

命令行参数

栈(地址由上向下生长)(局部变量)(自动开辟)

地址映射

堆(地址由下向上生长)(手动开辟)(malloc、realloc……free)

.bss(未被初始化的全局、静态变量)

.data(被初始化的全局静态变量)

常量区(只读区)

.text(代码区)





const  修饰的变量不能被改变

extern  引用

register static auto   存储类型

volatile   该变量不用被优化


yy 复制     p粘贴   DD  删除,剪切

x删除一个字    常用关键字有32个



{  }内部的是局部变量,外的是全局变量。


vi:  YY复制,nyy(n表示多行)



预处理——编译——汇编——链接


负数以补码存:  char  -5  5  00000101求反再+1


大小端:低位存低地址——小端

      低位存高地址——大端





http://g.hiphotos.baidu.com/baike/c0%3Dbaike80%2C5%2C5%2C80%2C26/sign=59a3e1017d3e6709aa0d4dad5aaef458/63d9f2d3572c11df57c9a205612762d0f703c2f8.jpg



局部变量:运行时分配空间


GCC编译时  移位运算为算数运算   符号位的值一定不会被改变


指针的引用:  *a  通过指针地址间接访问变量

指针初始化:  int *a = &p

指针的赋值: a = &p

_ _LINE_ _     行号(预处理)

_ _FILE_ _ 文件名

_ _func_ _    函数名

指针本身的类型为   :   int *

指针指向的类型: int

指针本身的值: 指向的变量的地址

指针指向的值: 指向变量值



野指针: 未被赋初值的指针变量,一定不能对一个野指针解引用作为左值


数组名能做的,指针地址都能做


void *   为万能的指针类型,但不能解引用


<string.h>

strcat();两个参数第一个为容器,把第二个不可修改的字符串贴到第一个的末尾

strncat();多一个int型参数,指定第二个字符串的长度

strlen();计算字符串的长度   不带字符0

strcpy();

memcpy();

strcmp();

strncmp();/*具体查看man手册*/



typedef   int   zhen;(接口与协议的制定)


sizeof()-------任意类型,关键字,空间

strlen()-------仅字符串,函数,长度



bzero(地址,大小)


二级指针:

数据类型:**p;

int **p;

int *a;

p = &a;


二级指针与二维数组

int**: 行地址 a  &a[0] &a[1] &&a[0][0]  ....

int*:列地址 a[0] a[1] &a[0][0]


行地址的解引用:

a[0] a[1] &a[0][0]


列地址的解引用:

*(a[1]) == a[1][0]


指针数组:int *a[10]

数组指针:int (*p)[6]



scanf  捕获到的字符“\n” 存在缓冲区


static:

局部变量:定义后在内存中  不随函数结束而销毁 唯一一次初始化

全局变量:只能在当前.c文件中使用

函数:当前.c被调用



volatile:  防止被优化   (其他线程修改内存中的值,而寄存器里没变)

extern:引用外部变量

函数:
  定义: 返回值的类型 函数名(参数类型 参数变量名 , ...){ 函数体  }


数据类型  void
  
  函数调用: 

返回值类型的变量  = 函数名(实参);  int ret = strcmp(s1, s2);     
调用函数之前必须先进行声明;
  
  声明:返回值的类型 函数名(参数类型 参数变量名 , ...);
 


  形参:函数定义时的参数变量  必须是变量
  实参:函数调用时传参的值


  实参---》形参  值传递(单向传值)




1、传参  --- 传地址 (为了修改实参变量本身的值);
2、返回值









































  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值