C语言
文章平均质量分 74
cdjccio
这个作者很懒,什么都没留下…
展开
-
C语言实现推箱子小游戏
#include#include#include#define N 1000/*r目的地 o箱子 i人 x墙 路(空格) w上 a左 d右 s下 */void menu();int level1();int level2();void swap(char*,char*);int opera(char *p,int *re原创 2016-04-11 22:38:06 · 5393 阅读 · 0 评论 -
多级指针的应用一(字符串的切割)
前言C语言中指针,可以算是最灵活,最强大的地方,同时也是最艰深的地方。用不好的话,什么段错误,内存违例等以前没见过的东西都会跳出来。最近看《UNIX系统编程》,感觉能把C语言用到这个水平,才能算是登堂入室。一般来说,我们会把指针跟数组联系起来理解,比如*p就是一个一维数组,**p是两维数组等,而一般而言,见到两维的指针也算是难得了,更高维的只怕看一会就会晕掉。《UNIX系统编程》中转载 2017-08-30 10:10:23 · 292 阅读 · 0 评论 -
C语言day2(一级指针到多级指针、指针的本质)
指针的本质原创 2017-08-27 22:19:21 · 280 阅读 · 0 评论 -
C语言day3(字符串,字符数组,一级指针的典型用法)
指针、字符串、字符数组原创 2017-08-30 08:51:46 · 305 阅读 · 0 评论 -
利用内存理解指针
1、Note1) 主调函数 被调函数 a主调函数可把堆区、栈区、全局数据内存地址传给被调用函数被调用函数只能返回堆区、全局数据2) 内存分配方式指针做函数参数,是有输入和输出特性的。2、应用指针必须和函数调用相结合(指针做函数参数)--important编号指针函数参数内存分配方式(级别+堆栈)主调函数实参原创 2017-08-29 22:33:20 · 269 阅读 · 0 评论 -
day4_二级指针的内存模型
1、二级指针的内存模型#define _CRT_SECURE_NO_WARNINGS#include #include #include #include void main2(){ int i = 0; //指针数组 char * p1[] = {"123", "456", "789"}; //二维数组 数据直接存放在堆区 char p2[3][4] =原创 2017-09-05 22:34:07 · 224 阅读 · 0 评论 -
字符串经典案例之一(字符串的copy)
1、初级程序int main04(){ char a[] = "i am a student"; char b[64]; int i = 0; for(int i = 0; *(a+i) !='\0'; i++) { *(b+i) = *(a+i); } //'\0'并没有copy到b中 b[i] = '\0';原创 2017-08-31 11:10:32 · 788 阅读 · 0 评论 -
API函数--字符串模型(strstr do-while,while)
题目:求字符串'abcd'出现的次数要求:自定义函数接口,完成上述需求;自定义的函数和main函数分开1、do-while模型int main08(){ //strstr(str,str2); int cout = 0; //初始化 让p指针达到查找的条件 char *p = "abcd11122abcd3344abcd444abdqq"; d原创 2017-08-31 20:34:53 · 340 阅读 · 0 评论 -
字符串之删除旧字符串中的空格并返回新串
题目:有一个字符串开头或结尾含有n个空格(” abcdefgdddd ”),欲去掉前后空格,返回一个新字符串。要求1:请自己定义一个接口(函数),并实现功能;要求2:编写测试用例。int trimSpace(char *inbuf, char *outbuf){ char *instr = inbuf; int i = 0; int ret = 0;原创 2017-08-31 22:03:01 · 611 阅读 · 0 评论 -
字符串之奇偶位输出
有一个字符串”1a2b3d4z”,; 要求写一个函数实现如下功能,功能1:把偶数位字符挑选出来,组成一个字符串1。valude;功能2:把奇数位字符挑选出来,组成一个字符串2,valude 功能3:把字符串1和字符串2,通过函数参数,传送给main,并打印。 功能4:主函数能测试通过。原创 2017-08-31 22:30:03 · 3884 阅读 · 0 评论 -
day5_结构体做函数参数
1、结构体做函数参数#define _CRT_SECURE_NO_WARNINGS#include #include #include #include typedef struct teacher{ char name[64]; int age; int id;}teacher;void printteacher(teacher *array,原创 2017-09-11 22:39:17 · 199 阅读 · 0 评论 -
关于:char (*p)[10] 、char p[10]和char *p[10]的讨论
直观理解: 1. char(*p)[10] 是指向数组的指针。 2. char p [10]是一个数组p。 3. char *p [10] 是指针数组,数组元素是char *指针。具体的不同点: 1.指向数组的指针 char(*p)[10] 中,p指向的是一个10个ch转载 2017-09-23 14:52:33 · 1103 阅读 · 0 评论 -
字符数组与字符指针
1.字符指针可以指向一个字符串。我们可以用字符串常量对字符指针进行初始化。例如,有说明语句:char *str = "This is a string.";是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址。这里要注意字符指针与字符数组之间的区别。例如,有说明语句:char string[ ]="This is a string.";转载 2017-09-23 13:39:24 · 217 阅读 · 0 评论 -
C语言高级应用——把握N级指针
C语言多级指针的实用转载 2017-08-29 09:36:43 · 739 阅读 · 0 评论 -
day4_字符串的两头堵模型
一、求非空格的字符串长度1、方法一 普通函数//方法一int main01(){ //求非空格的字符串长度 char *p = " abcdefgg "; int i = 0; int j = 0; j = strlen(p) - 1; int count = 0; while(isspace(p[i]) && p原创 2017-09-01 15:08:19 · 207 阅读 · 0 评论 -
day4_字符串之键值对问题的实现
键值对(”key = valude”)字符串,在开发中经常使用;要求1:请自己定义一个接口,实现根据key获取valude;40分要求2:编写测试用例。30分 要求3:键值对中间可能有n多空格,请去除空格30分注意:键值对字符串格式可能如下: “key1 =valude1”“key2 = v原创 2017-09-01 22:41:28 · 327 阅读 · 0 评论 -
day4_二级指针做输入输出的三种内存模型
一、第一种内存模型#define _CRT_SECURE_NO_WARNINGS#include #include #include #include //二级指针做输入的第一种内存模型int main41(){ int i = 0; int j = 0; int num = 0; char *tmp = NULL; //数组的每一个元素原创 2017-09-03 21:30:00 · 298 阅读 · 0 评论 -
day4_字符串挖取
题目:有一个字符串符合以下特征(”abcdef,acccd,eeee,aaaa,e3eeeee,sssss,";),要求写一个函数(接口),输出以下结果1) 以逗号分割字符串,形成二维数组,并把结果传出;2) 把二维数组行数运算结果也传出。strchr(“aa,aa”,’,’ );请自己定义一个接口(函数)。要求1:能正确表达功能的要求,定义出接口(函数);要求原创 2017-09-04 22:12:51 · 236 阅读 · 0 评论 -
内存四区的理解
内存四区的初探原创 2017-08-26 20:34:30 · 635 阅读 · 0 评论 -
内存管理内幕
动态分配的选择、折衷和实现本文将对 Linux™ 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理内存, 以及如何使用垃圾收集自动管理内存。为什么必须管理内存内存管理是计算机编程最为基本的领域之一。在很转载 2017-08-26 22:21:18 · 207 阅读 · 0 评论 -
day4_字符串的相关库函数
1、strstr()函数原型:char *strstr(const char *str1, const char *str2);#include找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。返回该位置的指针,如找不到,返回空指针。原创 2017-09-01 22:45:04 · 216 阅读 · 0 评论 -
day4_字符串反转问题
一、第一种方法 指针//二、字符串反转//第一种方法:指针int inverse(char *str1){ int length = strlen(str1); char *p1 = str1; char *p2 = str1 + length - 1; if(str1 == NULL) { return -1; }原创 2017-09-01 21:31:25 · 204 阅读 · 0 评论 -
数组做形参的本质剖析
#define _CRT_SECURE_NO_WARNINGS#include #include #include #include //排序int main01(){ int i = 0; int j = 0; int tmp = 0; int a[] = {11,33,22,44,12}; for(i = 0; i < 5; i++) {原创 2017-08-24 22:31:25 · 405 阅读 · 0 评论 -
C语言day1(数据类型、变量本质)
数据类型的用途及本质原创 2017-08-25 10:40:26 · 360 阅读 · 0 评论 -
经典案例--十六进制转换为十进制
1、方法一 用一级指针#include #include #include int convert(char *myp, int mylen, int *Poutput) { int i = 0; char *pstart = myp + 1; char *Pstop = myp + mylen - 1; int ant = 0; int原创 2017-09-12 15:54:56 · 1619 阅读 · 0 评论