c语言
Fly_bit
不要让虚无的欲望磨灭了真正的渴望
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言实现单链表---面试题详解
一、比较顺序表和链表的优缺点,说说他们分别在什么场景下应用空间上的比较(Space)a. 空间的开辟: 顺序表的实现一般是实现连续开辟一段空间(或根据需求动态连续开辟空间),然后在进行数据的增删查改(静态顺序表),所以顺序表一般是固定空间大小的; 单链表则是一次只开辟一个结点的空间,用来存储当前要保存的数据及指向下一个结点或NULL的指针,所以单链表的空间大小时动态原创 2017-06-16 12:44:17 · 997 阅读 · 0 评论 -
指针数组、数组指针、函数指针、函数指针数组、指向函数指针数组的指针的理解
一、指针数组(存放指针的数组)格式:类型名*数组名(数组长度) 如:int*p[2]一个存放int类型的数组称为整型数组,那么存放指针的数组就叫指针数组。也就是数组中存放的每一个元素都是一个指针变量。下面举个简单的例子:#includeint main(){ int i = 0, j = 0; int *p[2]; p[0] = &i; p[1] = &原创 2017-05-08 10:08:43 · 458 阅读 · 0 评论 -
可变参数列表的剖析以及printf函数的实现
C语言接触这么久一直都不怎么明白 printf 函数是如何实现的,直到对可变参数列表的函数有些了解后,才恍然大悟。那首先,就来谈谈可变参数列表吧: 在函数的原型中,列出了函数期望所接受的参数,但原型只能显示固定数目的参数,让一个参数在不同的时候接受不同数目的参数是不是不可以呢?答案是肯定的,但存在一些限制。考虑一个计算一系列值得平均值的函数。如果这些值存储于数组中,这个任务就太简单了,原创 2017-04-27 16:06:34 · 467 阅读 · 0 评论 -
C语言 创建一个数组 实现函数init()初始化数组 empty()清空数组 reverse()逆置数组
#includevoid init(int arr[], int len){ int i = 0; printf("初始化数组->:"); for(i=0; i<len; i++) { scanf("%d", &arr[i]); } }void reverse(int arr[], int len){ int i = 0; printf("\n逆置数组->:"原创 2017-04-14 10:43:55 · 882 阅读 · 0 评论 -
strcpy函数的理解
strcpy,计算机语言函数,是C语言的函数之一,来自C语言标准库,定义于string.h,他可以复制以null为退出字符的储存区块到另一个储存区块儿内。由于字符串在C语言中不是首要的字符形态,而是以实现的方式来替代,在存储器内以连续的字节区块组成,strcpy可以有效复制两个配置在储存器以指针回传的字符串(字符指针或是字符串指针)。其功能是把从src地址开始且含有NULL结束符的字符串赋值到以d原创 2017-04-10 15:20:07 · 12069 阅读 · 0 评论 -
C语言 扫雷游戏代码及详细注释
扫雷游戏代码及详细注释 扫雷游戏做为c语言初学者的编程练习还是很不错的,那么本篇文章详细注释了扫雷代码中的各行代码的含义以及作用,对初学者来说还是很有帮助的。一、game.h头文件代码#ifndef __GAME_H__#define __GAME_H__#define COLS 11 //列数#define ROWS 11 //行数#define COL原创 2017-04-10 10:51:43 · 22759 阅读 · 10 评论 -
最简单的二分查找
题目描述:给定一个排序的整数数组(升序)和一个要查找的整数key,查找到key第一次出现的下标(从0开始),并返回下标,如果key不存在于数组中,返回-1。 样例:在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3,返回2。二分查找是算法中非常重要的思想。正常情况下,我们在一个数组中查找一个数是否存在,该怎么做呢?当然是与数组中的元素一个原创 2017-04-09 11:20:23 · 426 阅读 · 0 评论 -
三子棋小程序
三子棋小程序:我们要达到这种美观的效果,除了编写程序还要有必要的修饰哦一、源文件game.h头文件程序:#ifndef __GAME_H__#define __GAME_H__#include #include #include #define ROWS 3#define COLS 3void init_board(char board[ROWS][COLS]原创 2017-04-05 22:11:25 · 477 阅读 · 0 评论 -
sizeof 和 strlen 的深入理解
话不多说,全在图里。一、一维整形数组sizeof#include#includeint main(){ int a[]={1,2,3,4}; printf("%d\n",sizeof(a)); //16 数组名单独存放在sizeof内部,输出的是数组长度,int型四个元素那么就是16个字节。 printf("%d\n",sizeof(a+0)); //4 此时的a是首元素原创 2017-04-05 01:30:46 · 295 阅读 · 0 评论 -
五位运动员问题的优化
/*5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第一,我第三。B选手说:我第二,E第四。C选手说:我第一,D第二。D选手说:C最后,我第三。E选手说:我第四,A第一。比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。*/#includeint main(){ int a = 1, b = 1,c = 1,d=1,e=1; for (a =原创 2017-04-03 17:41:26 · 374 阅读 · 0 评论 -
简单的0到100的猜字游戏
#include #include void start(){printf("*****************************************\n");printf("************* *************\n");printf("************* 输入1开始游戏 *************\n");printf原创 2017-03-30 15:30:54 · 1148 阅读 · 0 评论 -
C语言中菱形图案的生成
#includevoid Print(char arr1[], char arr2[], char arr3[], int str){ int mid = (str>>1) -1; int i = 0; for (i=0; i<=mid; i++) { arr1[mid+i]=arr2[mid+i]; arr1[mid-i]=arr2[mid-i]; prin原创 2017-03-30 14:55:31 · 797 阅读 · 0 评论 -
写一个函数返回参数二进制数中1的个数的几种方法
方法一:首先,简单思路为:给该整数模2除2我们就能得到该数2进制的每一位用9举例,9的二进制数为1001 (9%2=1,(9/2)%2=0, (9/2/2)%2=0, (9/2/2/2)%2=1)那么就想到了第一种方法:#include "stdio.h"void main(){ int num = 9; int count = 0; wh原创 2017-03-21 15:14:27 · 807 阅读 · 0 评论 -
C注释转换为C++注释
我们将C注释转换为C++的注释思路如下图: 此次我们通过将需要转换的C注释内容存于input.c文件中,转换后的内容存于output.c文件中。 input.c文件// 1.一般情况int num = 0;/* int i = 0; */// 2.换行问题/* int i = 0; */int j = 0;/* int i = 0; */int j = 0;// 3.匹配问题/*原创 2017-06-04 16:13:29 · 563 阅读 · 0 评论 -
动态顺序表部分接口的简单实现
我们的动态顺序表指的依旧是能动态开辟内存,需要用多少内存就开辟多少,从而合理的利用内存资源。 Seqlist_D.h#ifndef __SEQLIST_D_H__#define __SEQLIST_D_H__#include <stdlib.h>#include <assert.h>#include <stdio.h>#include <assert.h>#define SZ 2 //初始原创 2017-06-03 06:17:50 · 444 阅读 · 0 评论 -
静态顺序表接口的简单实现
此次我们对于顺序表的概念不多过多陈述(想了解详情请点击这里)此次我们通过对顺序表几个简单接口代码的注释,让我们对顺序表有直观的感受。Seqlist.h#ifndef __SEQLIST_H__#define __SEQLIST_H__#include <stdio.h>#include <string.h>#include <assert.h>#define MAX 100typedef原创 2017-06-03 01:49:40 · 561 阅读 · 0 评论 -
结构体实现通讯录文件流版
** 之前的两个版本是简易通讯录的静态实现(点击查看) 和 动态实现(点击查看) 相比于上两个版本,本版本使用文件保存所输入的数据,从而在重新打开时依然保存有之前的数据。 涉及到对文件的读写我们需要了解fopen,fread,fwrite,fclose这四个函数**# fopen函数##:FILE *fopen(char const *name, char const *mode);原创 2017-06-03 01:23:01 · 781 阅读 · 0 评论 -
结构体实现通讯录简单版
结构体实现一个通讯录;通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址具有功能:1. 添加联系人信息2. 删除指定联系人信息3. 查找指定联系人信息4. 修改指定联系人信息5. 显示所有联系人信息6. 清空所有联系人7. 以名字排序所有联系人contact.h#ifndef __CONTACTS_H__#原创 2017-05-17 15:51:20 · 1232 阅读 · 0 评论
分享