您的位置:首页 > 编程语言 > C语言/C++

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、返回值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: