总结
一颗菜薯
这个作者很懒,什么都没留下…
展开
-
零碎知识点总结(3)
数组 :常量正数整数 连续 类型一致 数据随机访问.exe : .lib 静态库 .dll动态库栈 分成 栈帧 无论功能函数怎么被调用 就要给其分配栈帧空间 (每次执行一个函数,都要分配栈帧)功能函数 值传递 型参改变不影响实参 (主函数和函数调用 只分配栈帧(栈的一小部分))功能函数结束后 栈帧释放 (相当于退房) 栈帧(房子)可以重复利用栈 先进后出 所在区域 ...原创 2019-03-30 15:07:05 · 182 阅读 · 0 评论 -
C知识点小总
数组在型参中的写法int Fun(int arr[10]) //型参退化成指针int Fun(int arr[])int Fun(int *arr)//三个等价const 和 * 的结合规律const//与类型结合*//与类型名结合预编译时处理 #编译时处理 类型 语法 sizeof 对关键字解析(转换)了int a = 10; // 编译后 int a = ...原创 2019-05-23 21:47:16 · 145 阅读 · 1 评论 -
C语言小总-----字符串 &一丢丢void指针
char str1[20] = {"helloworld"};char *sp = "helloworld";两者区别:str1 是数组 在栈上开辟20个空间 前面存放helloworld 后面放0 其内容可以被改变*sp指针存放在栈上 其指向的字符串在数据区 只读特性char str[30];//定义一个数组=>缓冲区scanf("%s",str);printf("%s \...原创 2019-05-18 19:26:23 · 174 阅读 · 0 评论 -
C语言小总-----malloc free
#include<malloc.h>//头文件malloc 开辟的是字节数int main(){ int *ip = NULL; char *cp = NULL; int n = 0; cin>>n; if(n<=0) return 0; ip = (int *)malloc(sizeof(int)*n); for(int i = 0;i<...原创 2019-05-19 16:59:06 · 187 阅读 · 0 评论 -
引用编译时识别为指针
引用 (别名)==>系统识别为常性的指针(从逻辑上看有区别 从系统上没区别)逻辑上 使用引用比指针更好理解int &b = a; // 引用int * const b = &a; // 系统识别原文件 .cpp -> .ivoid fun(int & a){ int *p = a; *a += 10; *p += 10;}int...原创 2019-05-08 20:12:35 · 176 阅读 · 0 评论 -
条件语句
for 初始化 : 只执行一次 for(int i = 0; i<10; i++)for( ; ; )//成立 但在循环中要补充完整 条件语句换成(break)入口条件循环 : 先判断 再执行循环语句定义语句int i = 0加逗号后面也要加定义语句int i = 0,j = 0;int i = 0;for(i = 1,printf("hi!\n"); i<10; i++...原创 2019-04-10 21:41:14 · 115 阅读 · 0 评论 -
数组 & 指针
数组定义arr[5] = {12,45,78,98,65};//sizeof(arr) = 20brr[5];//随机值crr[] = {12,45,78};drr[5] = {54,65};指针int *p,s;整形类型的指针变量p, 从右向左结合p相当于地址 不是值(int*)识别为强转*与变量名结合 不与类型名结合常量没有空间声明 int *p = &a...原创 2019-03-27 22:00:54 · 103 阅读 · 0 评论 -
零碎知识点 (2)(待续)
计算机里核心 时间和空间1)占用内存少2)运行时占用CPU少 (占空间大 速度就快)数组:数据类型相同数据内存连续存放arr[ x ] x: 常量 整形 正数数组访问时防止越界输入防错 可以在功能函数里添加 return -1;*= 和 /= 不建议使用 用括号增加可读性a = a * b + c; a *= b + c; //a = a * (...原创 2019-03-27 20:40:48 · 137 阅读 · 0 评论 -
指针练习
char buffer[20] = {0}; int *p = (int *)buffer; *p++ = 89; *(char*)p++ = 'a'; *(float*)p = 12.3f; p = (int *)buffer; printf("%d \n",*p++); printf("%c \n",*(char*...原创 2019-04-04 20:58:48 · 166 阅读 · 0 评论 -
零碎知识点(5)
在定义指针时 指向有效地址 或者 定义为空指针 从而进行对其操纵int *p; // 野指针 指向任意地址 int *s = NULL; // 空指针if(){块内作用域}失去生存期失效指针2.int * fun(){ int a = 100; return &a;}void add(){ int x = 0;}int main...原创 2019-04-04 20:19:55 · 151 阅读 · 1 评论 -
零碎知识点 不全小总(1)
.c/.cpp[原文件] (预编译) => .I(编译) => .o/.obj(链接) => .exe[可执行](1)视图层 ==> (客户与系统的交互层) [黑框框] (2)处理层(3)文件层程序 要有 总控函数 输入 调用函数 输出函数返回值 函数名称 _ 英文(型参列表)型参列表 => 参数类型 和 参数个数 (见名思意 功能单一 对应函数名...原创 2019-03-24 00:24:46 · 174 阅读 · 0 评论 -
const & 指针
红线左侧有const 为 解引用之后的值 不可被改变红线右侧有const 为 自身p对应的(a) 不可被改变原创 2019-03-30 20:33:31 · 622 阅读 · 1 评论 -
零碎知识点(4)
代码让人看 再考虑执行计算机里核心 : 时间 和 空间变量 责任单一xx && xx 有0则为0 否则为1 “与”xx || xx 有1则为1 否则为0 “或” 遇到1 就不往后看&& 和 || 优先级低于 ==sizeof 返回值为 unsigned intarr[ 常量 整形类型 正数 ]数组元素地址连续元素类型相同访问数组时 不可以越界...原创 2019-03-30 18:03:26 · 145 阅读 · 0 评论 -
数组 & 函数
数组长度 int len = sizeof(arr) / sizeof(arr[0]); //arr[10]10=>len数组名在sizeof里表示字节个数其余情况表示首元素的地址访问数组元素:下标和指针数组名在做型参时退化成指针 void fun(int *brr)int arr[10] = {1,2,3,4,5}; arr 为常性值 (arr地址)布局函数时 要定义 首元...原创 2019-03-30 16:55:12 · 163 阅读 · 0 评论 -
指针加const约束能力的变化
指针加const 只能缩小约束能力 不能扩大int a = 10;int const *p = &a;int *s1 = p;//Fint const *s2 = p;//Tint * const s3 = p;// Fconst int * const s4 = p;//Tint a = 10;int * const p = &a;int *s1 = p;...原创 2019-05-23 21:47:54 · 148 阅读 · 0 评论