C语言补习知识点~华清远见上课笔记
2015-07-20 21:10
218 查看
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、返回值
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、返回值
相关文章推荐
- C语言中的union
- [Effective C++]构造/析构/赋值运算
- C语言用结构体模拟类的功能
- 12天学好C语言——记录我的C语言学习之路(Day 6)
- 12天学好C语言——记录我的C语言学习之路(Day 6)
- C语言学习(二)
- LBP纹理提取 C++实现
- 百易时代C++面试题
- c++ memset 函数 及 坑
- c++string
- HDU 1260
- 12天学好C语言——记录我的C语言学习之路(Day 5)
- 12天学好C语言——记录我的C语言学习之路(Day 5)
- 【C语言学习】《C Primer Plus》第11章 字符串和字符串函数
- 7月20 学习记录(C语言)
- C语言09 -- 高级指针
- C语言08 -- 指针
- this指针的用法
- C语言07 -- 结构体多文件管理
- C语言07 -- 结构体