
C语言
十一是只喵哦
量变影响质变.keep fighting !!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
计算结构体的大小(字节对齐问题)
C代码中定义的结构体是一块连续内存,各成员按照定义的顺序依次在其中存放。编译器在完成语法分析后,需要计算它的大小,然后才能正确地为结构体分配空间。为了让结构体的所有成员都能正确、快速地访问,需要字节对齐。字节对齐体现为:在成员之间可能增加补齐字节,以调整每个成员的偏移;结构体末尾,也可能增加补充字节。所有补齐字节计入结构体的大小。我们通过以下几个例子认识结构体大小知识:1、...原创 2018-08-01 23:44:59 · 705 阅读 · 0 评论 -
c语言:动态内存知识点(申请、释放、free崩溃的原因)
动态内存用户无法确定空间大小,或者空间太大,栈上无法分配时,会采用动态内存分配,存放于堆(heap)区,不能通过变量名或数组名引用,只能通过指针引用.1、在Windows操作系统中,堆中最大连续内存大概1.3G。2、最大问题:内存泄漏(软件开发设计考虑的主要方面,每次泄露少量,久而久之很多,导致程序运行速度减慢甚至导致系统崩溃。)3、内存不足时返回空指针。4、返回类型是void...原创 2018-08-02 15:21:07 · 1233 阅读 · 0 评论 -
C:数组越界问题分析
首先,数组越界访问是一个非常严重的问题,先看一个简单的代码:#include<stdio.h>int main(){int i;int arr[10];for(i=0;i<=10;i++){arr[i] = 0;printf("%d\n",i);}return 0;}运行结果如下:我们可以看到,程序崩溃了。从上面我们可以认识到,...原创 2019-07-30 21:49:02 · 1042 阅读 · 0 评论 -
C语言:关于数组退化为指针
从一个小题下手,初步理解数组和指针的关系:#include <stdio.h> int size(char a[10]){ return sizeof(a);} int main(void){ char a[] = {'C','h','i','n','a','\0'}; char *p = "China"; char *q = ...原创 2019-07-25 20:52:43 · 4648 阅读 · 0 评论 -
c语言:折半查找法(二分查找法)
折半查找法(half-interval search)优点:比较次数少,查找速度快,平均性能好缺点:是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。注意:折半查找法仅适用于对已有顺序的数组、数据进行操作!!!例如:要在数组arr[]={8,7,9,6,4,1,2,5,3,10,11};中查找key=7的位置;首先,我们要先将数组arr中...原创 2019-07-25 17:53:56 · 24220 阅读 · 1 评论 -
斐波那契(Fibonacci)数列问题
斐波那契数列有如下特点:第1,2两个数为1,1。从第三数开始,该数是其前面数之和。即F1=1;F2=1;F3=F1+F2;Fn=Fn-1+Fn-2;1,用for语句实现,代码如下:#include<stdio.h>int Fibon(int n){ int f1=1; int f2=1; int f3; for(int i=2;i<=...原创 2018-07-12 16:08:41 · 3130 阅读 · 0 评论 -
给一个正整数n,求出位数。并按正序输出,逆序输出
求出位数思路:通过让给定的正整数n整除10,且每整除一次让统计位数的变量count自增一,返回count得到位数。#include<stdio.h>int GetFigure(int n){ int count=0; do { count ++; n /=10; }while(n!=0); return count;}//while循环的bug...原创 2018-07-15 01:04:01 · 7989 阅读 · 1 评论 -
字符串的复制,比较大小,拼接
1、字符串的复制思路:方法一:使用库函数对字符串复制strcpy(字符数组1,字符串2) 作用是将字符串2复制到字符数组1中去char str1[10],str2[]="China";strcpy(str1,str2);方法二:构造函数代码如下:#include <stdio.h>#include <stdlib....原创 2018-08-01 23:44:28 · 1724 阅读 · 0 评论