- 博客(12)
- 收藏
- 关注

原创 Free使用出现崩溃的原因。
1.越界.漏写sizeof,realloc第二个参数写错。int main()//free崩溃情景1{ int *p = (int *)malloc(10*sizeof(int)); for(int i=0;i<=10;i++) { p[i] = 0; } free(p); return 0;}2.修改了指针的指向,p++。int main()//情景2{ int *...
2018-04-23 22:56:38
3756
转载 Sizeof与Strlen的区别与联系
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,...
2019-05-10 10:56:05
156
原创 【c++】中的六个默认函数
1.C++三大特征: 封装 继承 多态 1.public: 任意位置访问 2.protected: 本类,子类类中访问 3.private: 本类类中访问2.struct class 3.this (thiscall) 类中普通的成员方法中有默认的参数 this this Student*const ...
2018-12-04 16:00:35
328
原创 【C++】const用法
C常变量 编译阶段常变量是否作为左值 和其他普通变量相同C++常量 编译阶段把用到常量的地方替换成常量初始化的值1.一定要初始化2、不能有修改内存块的风险3、const修饰的全局符号是local4、用变量初始化常量常量退化变量 引用 (一个别名)底层从指针的方式来支持引用,在引用使用的地方系统自带解引用过程引用一定要初始化 // int &b;...
2018-11-29 15:13:27
228
1
原创 C++(1)
1. .C/.cpp 预编译 编译 汇编 链接 .exe .c/.cpp预编译.i 编译.s 汇编.o 链接1.#define ...
2018-11-14 15:57:59
245
原创 结构体的大小,内存对齐问题
例1struct A{ int a; int b;}; 所占字节为 8;例2struct B{ char a;//1+3 int b;//4};所占字节依旧为 8; 为什么不是 1+4=5呢?如下图结构体内存对齐,所以a后面会预留3个字节与b对齐;共占用 8 个字节;例3struct C{ char a;//1+1 short b;//2 int c;//4};//8例4...
2018-05-05 22:24:17
338
原创 如下情况数组名arr表示整数数组
①在定义数组的同一个函数中,sizeof(arr)②在定义数组的同一个函数中,&arr+1③其它情况数组名表示数组首元素的地址例:利用数组与指针将 1 2 3逆置打印数组的各个值//void Show(int arr[10])//arr退化成指针,int *void Show(int *arr,int len){ //sizeof(arr)/sizeof(arr[0]) ==1 f...
2018-05-01 21:33:41
479
转载 const的使用
const的使用const:定义常变量,不能写,只读。a、数据类型对于const而言是透明的。例如: const int a = 100; int const a = 100;const可以放在数据类型的两侧,两者是等价的。b、const 用于封锁直接修饰的内容,并将该内容的属性变为只读例如: int const*p1 = &...
2018-05-01 21:15:12
155
原创 利用交换a,b值来研究指针的用法
#include<stdio.h>/*void Swap_err1(int a,int b)//利用一个中间变量进行传递{ int tmp; tmp = a; a = b; b = tmp; }*//*void Swap_err2(int *p1,int *p2)//有传指针,但是没有解引用 失败!{ int *tmp = p1; p1 = p2; p2 = tmp;}*//*void...
2018-04-07 17:31:00
868
原创 折半查找
#include<stdio.h>int BinSearch(int *arr,int len,int key){ int low = 0; int high = len-1; int mid; while(low <= high) { mid = (low+high)>>1;//(low+high)/2 if(arr[mid] == key) { retu...
2018-04-07 17:16:42
189
原创 给出一个数字正序反序输出并求出它是几位数。
#include<stdio.h>#include<math.h>int Getfigures(int n){ int count = 0; do { count++; printf("%d ", n%10); n/=10; } while(n != 0); return count;}int printorder(int n){ double coun...
2018-03-28 17:49:49
807
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人