c语言
红莲之殇
一个简单的iter
展开
-
字符串模型2:分别取一串字符串中的奇偶字符存放在两个不同的内存块中
#include <stdio.h>/* 有一个字符串”1a2b3d4z”,; * 要求写一个函数实现如下功能, * 功能1:把偶数位字符挑选出来,组成一个字符串1 buf1 * 功能2:把奇数位字符挑选出来,组成一个字符串2 buf2 * 功能3:把字符串1和字符串2,通过函数参数,传送给main,并打印。 * 功能4:主函数能测试通原创 2016-03-04 11:46:27 · 658 阅读 · 0 评论 -
结构体基础02
#include <stdio.h>#include <stdlib.h>typedef struct _Teacher { char name[100]; char *title; int age; char **p_stu; // 每个老师带的学生} Teacher;// 在堆区分配内存Teacher *create_mem(int count){原创 2016-03-09 20:39:54 · 221 阅读 · 0 评论 -
结构体基础
#include <stdio.h>#include <stdlib.h>typedef struct _Teacher { char name; int age;} Teacher;// 打印结构体成员ageint print_t(Teacher *p, int count){ int i = 0; for (i=0; i<count; i++){原创 2016-03-09 11:10:08 · 234 阅读 · 0 评论 -
野指针的处理
野指针处理的三个要点: 定义指针时,把指针变量赋值为NULL 释放内存时,先判断指针变量是否为NULL 释放完毕后,把指针变量重新赋值为NULL #include <stdio.h>#include <stdlib.h>void free_mem(char *p){ if (p != NULL){ free(p); p = NULL原创 2016-03-09 09:48:22 · 835 阅读 · 0 评论 -
函数指针做函数参数
#include <stdio.h>#include <stdlib.h>// 函数声明int add(int, int);int load_func(int (*pfunc)(int, int));int main(void){ int (*padd)(int, int); // 定义一个函数指针变量 padd = &add; // &符号可要可不原创 2016-03-20 18:56:42 · 493 阅读 · 0 评论 -
多维数组做函数参数问题
编号 数组参数 等效的指针参数 1 一位数组 char a[30] 指针 char * 2 指针数组 char *a[30] 指针的指针 char ** 3 二维数组 char a[10][30] 数组的指针 char (*a)[30]原创 2016-03-08 16:14:23 · 400 阅读 · 0 评论 -
定义一个一维指针指向二维数组并打印
间接证明二维数组在物理上是线性存储的#include <stdio.h>// 证明二维数组在物理上是线性存储的// a[i][j] // a[0] = a+0; a[1] = a+1; a[i] = a+i ;a+i表示第i-1行的地址// *a表示第一行第一列的地址, *a+1表示第一行第二列的地址// 定义一个一维指针指向二维数组的时候, 要将其指向二维数组的第一行第一列的地址,也就是原创 2016-03-07 22:24:24 · 1073 阅读 · 0 评论 -
二维数组名本质
#include <stdio.h>int main(void){ int a[10][30] = {0}; int (*pa)[30]; // 数组指针 pa = a; printf("pa=%x, pa+1=%x\n", pa, pa+1); printf("a=%x, a+1=%x\n", a, a+1); printf("a[0]=%x,原创 2016-03-07 21:10:58 · 437 阅读 · 0 评论 -
一维数组名的本质
#include <stdio.h>#include <string.h>/* int a[]; * int (*p)[]; // 定义数组指针 * int *p2 * p = &a; * p2 = a; * p和p2的区别可从下面程序打印的结果看出*/int main(void){ int a[5] = {1, 2, 3, 4, 5}; int i原创 2016-03-07 20:28:07 · 1496 阅读 · 0 评论 -
字符串模型1:打印去掉字符串首尾空格后的字符
#include <stdio.h>#include <string.h>/* 有一个字符串开头或结尾含有n个空格(" helloworld "), 欲去掉前后空格 * 返回一个新字符串. * 要求1:自己定义一个接口 * 要求2:编写测试用例 * int trim_space(char *inbuf, char *outbuf);*//*函数如下*/int trim_spac原创 2016-03-04 11:35:13 · 706 阅读 · 0 评论 -
字符串模型3:查找字符串str1中字符串str2出现的次数
#include <stdio.h>#include <string.h>// 查找str1中str2出现的次数// 比如:str1 = "haabchnjabchnnjabchuioiabc" 中 str2 = "abc"出现的次数int get_count(char *str1, char *str2, int *pcount){ // 形参pcount的作用是为了计算次数原创 2016-03-06 20:55:24 · 3776 阅读 · 0 评论 -
C语言小项目(学生信息管理系统)
/*(1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: 1.系统以菜单方式工作 2.学生信息录入功能(学生信息用文件保存)---输入 3.学生信息浏览功能——输出 4.查询、排序功能——算法 1、按学号查询 2、按姓名查询 5.学生原创 2016-04-06 09:07:44 · 22160 阅读 · 8 评论