随笔分类 -  C基础

摘要:运行结果: 二维数组指针的步长是20(5*4:5个int型数据*4bit) 编译通过,运行成功。 多维数组名的本质就是数组指针 ==》步长、一维长度。 (a+i) 代表第i行的首地址 *(a+i) 代表一级指针,第i行首元素地址 *(a+i)+j 代表a[i][j]元素 第一行的地址和第一行的首元素 阅读全文
posted @ 2019-10-16 22:40 王清河 阅读(220) 评论(0) 推荐(0) 编辑
摘要:定义数组类型 数组指针 用一个指针变量指向一个数组 方法1:定义数组指针变量的方法—用(数组类型 *) 定义 方法2:直接声明数组类型指针 定义数组指针变量的第三中方法: 前两种方法通过类型定义变量 阅读全文
posted @ 2019-10-11 21:54 王清河 阅读(626) 评论(0) 推荐(0) 编辑
摘要:两个赋值指针挖字符串 使用第三种内存模型 阅读全文
posted @ 2019-10-09 20:54 王清河 阅读(290) 评论(0) 推荐(0) 编辑
摘要:对于主函数的二级指针的分配赋值操作,调用函数时会用到三级指针来指向存储二级指针的内存地址 阅读全文
posted @ 2019-10-05 19:05 王清河 阅读(329) 评论(0) 推荐(0) 编辑
摘要:自定义内存,使用堆中分配内存来控制数据交换 交换指针指向的内容 交换指针指向的内存块 函数封装接口 #include<stdio.h> #include<string.h> #include<stdlib.h> int main() { char **p2 = NULL; int i,j; int 阅读全文
posted @ 2019-10-05 18:26 王清河 阅读(179) 评论(0) 推荐(0) 编辑
摘要:二级指针做输入,此时交换的是指针指向的内存 阅读全文
posted @ 2019-10-05 18:23 王清河 阅读(192) 评论(0) 推荐(0) 编辑
摘要:二级指针做输入 二级指针做输入,利用指针改变指针指向内容 如果将main函数中的字符串数组声明修改为 char myArray[10][30] = {"aaaaa","bbbbb","ccccl","1111111"}; 此时,在传入打印和排序的函数中仍然使用char ** myArray 来声明形 阅读全文
posted @ 2019-10-05 18:22 王清河 阅读(293) 评论(0) 推荐(0) 编辑
摘要:声明: char *fgets(char *str,int n,FILE* stream) 参数: str—这是指向一个字符数组的指针,该数组存储了要读取的字符串 n – 这是要读取的最大字符数(包括最后的空字符)。通常是使用以str传递的数组长度 stream –这是指向FILE对象的指针,该FI 阅读全文
posted @ 2019-09-29 15:32 王清河 阅读(1574) 评论(0) 推荐(0) 编辑
摘要:如果分配内存减少,realloc仅仅改变索引的信息。 如果将分配的内存扩大,则有一下几种情况: 1) 如果当前内存段后面有需要的内存空间,则直接扩展这段内存空间,realloc()将返回元指针。 2) 如果当前内存段后面的空闲字节不够,那么就实验堆中的第一个能够满足这一要求的内存块,将目前的数据复制 阅读全文
posted @ 2019-09-29 10:07 王清河 阅读(721) 评论(0) 推荐(0) 编辑
摘要:版本1 两个指针从头到尾和从尾到头交换内容逆序 /*** str_reverse.c ***/ #include<stdio.h> #include<string.h> int main() { char buf[] = "abcdrfg"; int len = strlen(buf); char 阅读全文
posted @ 2019-09-28 21:05 王清河 阅读(621) 评论(0) 推荐(0) 编辑
摘要:键值对(”key = valude”)字符串,在开发中经常使用; 要求1:请自己定义一个接口,实现根据key获取valude;40分 要求2:编写测试用例。30分 要求3:键值对中间可能有n多空格,请去除空格30分 注意:键值对字符串格式可能如下: “key1 = valude1” “key2 = 阅读全文
posted @ 2019-09-28 21:03 王清河 阅读(319) 评论(0) 推荐(0) 编辑
摘要:有一个字符串”1a2b3d4z”,; 要求写一个函数实现如下功能, 功能1:把偶数位字符挑选出来,组成一个字符串1。valude;20分 功能2:把奇数位字符挑选出来,组成一个字符串2,valude 20 功能3:把字符串1和字符串2,通过函数参数,传送给main,并打印。 功能4:主函数能测试通过 阅读全文
posted @ 2019-09-28 21:02 王清河 阅读(503) 评论(0) 推荐(0) 编辑
摘要:字符串作为函数参数传入传出 /*** delSpace.c ***/ #include<stdio.h> #include<string.h> int DelSpace(char *str) { int iRet = -1; int i ; int j ; int ncount = 0; char 阅读全文
posted @ 2019-09-28 21:01 王清河 阅读(673) 评论(0) 推荐(0) 编辑
摘要:/*** strstr.c ***/ #include<stdio.h> #include<string.h> //求字符串p中abcd出现的次数 //自定义函数接口完成业务函数和main函数分开 int getCount(char *mystr,char *sub,int *ncount) { int ret = 0; if(mystr == NULL || sub == NULL || nco 阅读全文
posted @ 2019-09-28 20:59 王清河 阅读(654) 评论(0) 推荐(0) 编辑
摘要:程序内存四区分析: char *from = "abcd"; 操作系统在在常量区分配一个内存存放”abcd”,在栈区定义分配一块内存,取名位from,from指向的这块内存存储“abcd”的首地址。 char buf2[100]; 操作系统在栈区分配一块内存,开头与栈区增长方向相反,大小为100个字 阅读全文
posted @ 2019-09-24 21:39 王清河 阅读(365) 评论(0) 推荐(0) 编辑
摘要:strlen 和 sizeof 区别 区别 strlen 是一个库函数,而 sizeof 是一个运算符 sizeof 计算的是变量或者类型所占用的内存字节数,而 strlen 计算的是字符串中字符的个数 sizeof 可以用于任何类型的数据,而 strlen 只能计算以 '\0' 结尾的字符串 代码 阅读全文
posted @ 2019-09-22 10:53 王清河 阅读(18582) 评论(0) 推荐(1) 编辑
摘要:C/C++头文件一览C、传统 C++#include <assert.h> //设定插入点#include <ctype.h> //字符处理#include <errno.h> //定义错误码#include <float.h> //浮点数处理#include <fstream.h> //文件输入/ 阅读全文
posted @ 2019-08-19 17:40 王清河 阅读(142) 评论(0) 推荐(0) 编辑
摘要:C++继承了C语言用于日期和时间操作的结构和函数,使用之前程序要引用<ctime>头文件 有四个与时间相关的类型:clock_t、time_t、size_t、和tm。类型clock_t、size_t、和time_t能够把系统时间和日期表示为某种整数。 结构体tm把时间和日期以C结构的形式保存,tm结 阅读全文
posted @ 2019-08-05 19:21 王清河 阅读(2503) 评论(0) 推荐(0) 编辑
摘要:枚举类型: 枚举类型(enumeration)是C++的一种派生数据类型,它是由用户定义的若干枚举常量的集合。 如果一个变量只有几种可能的值,可以定义为枚举类型所谓枚举是将变量一一枚举出来,变量的值只能在列举出来的值的范围内。 创建枚举,需要使用关键字enum枚举类型的一般形式为: enum 类型 阅读全文
posted @ 2019-08-05 19:17 王清河 阅读(271) 评论(0) 推荐(0) 编辑
摘要:C中包含头文件<math.h> C++包含头文件<cmath> 函数 double cos(double) 该函数返回弧度角(double型)的余弦 double tan(double) 该函数返回弧度角(double型)的正切 double sin(double) 该函数返回弧度角(double型 阅读全文
posted @ 2019-08-05 19:16 王清河 阅读(527) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示