
C
饭_团
这个作者很懒,什么都没留下…
展开
-
static关键字(二)
上一篇博客总结了static在面向过程中的用法以及基本概念,这篇博客承接上一篇继续讲static在面向对象中的用法。1. 类的静态成员(面向对象)在类内数据成员的声明前加上关键字static,该数据成员就是累的静态数据成员。在类中,静态成员可以实现多个对象之间的数据共享,静态数据成员只存储一处,供所有对象共用。并且使用静态数据成员还不会破坏隐藏的原则,即保证了安全性。存储区域:全局数据...原创 2019-07-23 16:06:04 · 136 阅读 · 0 评论 -
sizeof与strlen的区别
在日常编程中,sizeof和strlen以高频率出现在许多位置,尤其是在对字符串的大小进行计算时,今天我们来系统的了解一下他们。首先是区别:sizeof是运算符,strlen是函数 sizeof可以用类型或者函数做参数,strlen只能用char*做参数,且必须是以‘\0’结尾 对数组进行处理时,sizeof以数组为参数不会退化,而传递给strlen会退化为指针 大部分sizeof在...原创 2019-09-06 18:05:25 · 213 阅读 · 0 评论 -
几种常见的排序
一、插入排序思想:将数组中的每一个数字与其前面的数字进行比较,当该数字大于前面的数字,则不处理,当其小于前面的数字将后面的数字,则将数据移位,将其插入。给每个数字在其前面所有的数字之中找到合适的位置,并插入。插入排序中数据待插入的前面序列的数据是有序的。void Sort(int *arr,int len)//插入排序{ int i,j; for( i = 1;i<len...原创 2019-08-22 16:53:56 · 173 阅读 · 0 评论 -
从1到n整数中1出现的次数
输入一个整数n,求1~n这n个整数的十进制表示中1出现的次数,例如,输入12,1~12这些整数包含1的数字有1,10,11,12,1一共出现了5次这是我在写剑指offer中遇到的一个题,题不难,很容易的想到从1开始对每个数进行检测,先判断各位是否为1,再判断它是否为十位数,对该数除10之后再进行判断,如果该数小于10时跳出循环。int main(){ int count = 0; ...原创 2019-08-12 15:01:39 · 149 阅读 · 0 评论 -
Const关键字
const关键字限定一个值不能被修改,产生静态作用。const修饰的数据类型是常类型,C语言const 常变量 编译阶段,判断常变量是否做左值,其他处理与变量一样。 当我们试图修改常变量时系统会提示我们错误, const int a = 10; a = 20; //试图直接修改a的值,1,3错误 int *p = &a;//试图通过指...原创 2019-07-21 17:54:26 · 178 阅读 · 0 评论 -
static关键字(一)
接下来会有两篇连续的博客来介绍static关键字,static关键字在我们学习中是一个重点,在不同作用域下,不同语言中都有不同的含义和用法。我将从面向过程和面向对象两个方面介绍static关键字,我们今天先从面向过程中的static开始总结。加了static关键字的全局变量只能在本文件中使用 static定义的静态局部变量分配在数据段上,普通的局部变量分配在栈上,会因为函数栈帧的释放而被释放...原创 2019-07-23 10:56:19 · 178 阅读 · 0 评论 -
结构体、联合体以及枚举
结构体、联合体以及枚举类型是我们在学习C/C++中经常遇到的一些数据结构,接下来我们就来认识和区别一下他们。结构体:(struct)用途:把不同的数据组合成一个整体——自定义数据类型C语言:在C语言中,结构体指的是一种数据结构,是C语言中聚合数据类型的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体的成员可以包含其他结构体,也可以包含指向自己结构体类型的指...原创 2019-07-31 18:23:22 · 1881 阅读 · 1 评论 -
指针和引用的区别
执行结果:引用:引用相当于“别名”,它的底层是依靠指针来实现的引用一定要初始化 底层使用指针支持,在所有变量使用的地方系统会自动解引用 引用不可以引用不能取地址的数据(无地址) 引用不能改变 引用变量时,使用的是引用变量所引用的变量 C++ 中(const int &)常引用可以引用不能取地址的数据,因为数据会生成一个临时量,常引用引用引用临时量。引用与指针的区别指...原创 2019-07-21 10:50:15 · 263 阅读 · 0 评论 -
动态内存分配
动态内存:动态的创建内存,申请内存空间为变量;存放于堆(heap)区,不能通过变量名或数组名引用,只能通过指针引用,在windows中,堆中最大的连续内存块为1.3G左右。ANSI标准建议设有4个有关动态存储分配函数,即 malloc(), calloc(), realloc(), free(); 头文件为#include<stdlib.h>mal...原创 2018-07-24 13:55:41 · 307 阅读 · 0 评论 -
结构体大小计算
结构体计算大小需要字节对齐,目的是让计算机快速读写,按照下述规则进行计算;1、将上面的类型字节大小凑数,成为下面类型字节的倍数;2、结构体变量的每一个类型字节都可以被其中最大类型字节整除;3、结构体的总大小是最大类型的整数倍;4、最大类型是单个最大类型,不是在调用结构的总大小;#include<stdio.h>struct II{ int a;//4...原创 2018-07-27 19:03:38 · 2434 阅读 · 1 评论 -
魔方阵
魔方阵:由一组排放在正方形的整数组成,其每一行,每一列,及对角线上的数之和均相等;根据构造方法不同可以分为三类:奇数阶魔方阵,4M阶魔方阵和4M+2阶魔方阵奇数阶魔方阵构造方法:1、将1放在第一行中间一列;2、从2开始到n*n,每一个数存放的位置比前一个数的行数减1,列数加1即上一行下一列;3、若上一行行数为1,下一个数的行数为n(n为最后一行或列),若上一个数的列数为n,下一...原创 2019-07-19 13:17:51 · 254 阅读 · 0 评论 -
inline函数
inline函数也称为内联函数或内嵌函数,inline定义的类的内联函数,函数代码被放入符号调用表,使用时直接展开,不需要调用,即在编译期间将所调用的函数的代码直接嵌入到主调函数中,是一种以空间换时间的函数。inline函数与普通函数的比较普通函数有开栈和清栈,inline函数无开栈和清栈。当执行开销(代码小)< 调用开销(开栈)时,建议用inline当执行开销(代码...原创 2019-07-19 22:11:26 · 5013 阅读 · 0 评论 -
New和malloc的区别
在了解new和malloc的区别之前,我们首先要知道new和malloc的基本用法,malloc/free是C/C++的标准库函数,函数原型如下,而new是C++的运算符。malloc函数原型void *malloc(size_t_size); void* free(void * ptr);动态开辟内存 mall...原创 2019-07-20 11:14:18 · 194 阅读 · 0 评论 -
C、C++、java的区别
博主面试的时候被问到这三个编程语言的区别,之前没有做过系统性的整理,回答问题的思路比较散乱,今天整理一下,首先是C、C++的区别,C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象...原创 2019-09-15 19:11:29 · 5166 阅读 · 0 评论