结构体数组溢出

tingfengx 2014-03-15 11:06:33
#include <stdio.h>
#include <string.h>

int search(int key,int a[]);

struct index
{
int key;
int start;
int end;
}index[1];

int main()
{
int i,j=-1,k,key;
int a[]={1,2,3,4,5,6,7,8,9,10,23,43,56,78,99};
printf("array is\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");

for(i=0;i<3;i++)
{
index[i].start=j+1;
j=j+1;
index[i].end=j+4;
j=j+4;
index[i].key=a[j];
}

printf("wanted number\n");
scanf("%d",&key);
k=search(key,a);

if(k>=0)
printf("succeed! the wanted number location %d\n",k+1);
else
printf("not found!\n");
}

int search(int key,int a[])
{
int i,j;
i=0;
while(i<39&& key>index[i].key)
i++;
if(i>=3)
return -1;
j=index[i].start;
while(j<=index[i].end&& a[j]!= key)
j++;
if(j>index[i].end)
j=-1;
return j;
}

我把index【】中改成1 同样没有问题 为什么溢出也能运行
...全文
276 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-03-18
  • 打赏
  • 举报
回复
其实电脑开机后物理内存的每个字节都是可读写的,区别仅在于操作系统内存管理模块在你读写时是否能发现并是否采取相应动作而已。操作系统管理内存的粒度不是字节而是页,一页通常为4KB。
sunday20060101 2014-03-18
  • 打赏
  • 举报
回复
index[i]在运行时其实是这样的:*(idex +i),即在idex的基础上在正向偏移i*(12)个字节的位置(这个12字节,其实就是struct index的大小),再取其中的值,由于你的index之定义了1个元素,那么对于i》=1的情况,所做的诸如 index[i].start赋值,都是在修改index界外的内容;溢出的时,出现什么情况是不一定的,比如你的溢出操作修改了其他进程中正在使用的变量,就会出现问题了,比如造成了空指针操作,程序需肯定就崩溃了。
qq120848369 2014-03-16
  • 打赏
  • 举报
回复
主要了解一下进程的”虚拟地址空间“概念,你操作的内存如果恰好已被分配,那么读写它是不会出现”段错误“的
凡人没有梦 2014-03-15
  • 打赏
  • 举报
回复
个人认为与数组类似,当数组溢出时如果其下一个地址没有存放对于整个系统来说比较重要的数据那么溢出后将下一个地址所存放的数据破坏后,运行是不会出现异常的,同样这样的Bug也是比较难发现的,但一旦有问题或者运行时间长了后所造成的结果将会是致命的。
1 愉快的开始-HELLO WORLD 14 1.1 INCLUDE头文件包含 14 1.2 MAIN函数 14 1.3 注释 14 1.4 {}括号,程序题和代码块 14 1.5 声明 14 1.6 C语言自定义名字的要求 15 1.7 PRINTF函数 15 1.8 RETURN语句 15 1.9 SYSTEM系统调用 15 1.9.1 System返回值在windows和unix下的不同, 15 1.9.2 POSIX 15 1.10 C语言编译过程,GCC参数简介 16 1.10.1 C语言编译过程 16 1.10.2 -E预编译 16 1.10.3 -S汇编 16 1.10.4 -c编译 16 1.10.5 链接 16 1.11 操作系统结构 17 1.11.1 用户模式 17 1.11.2 内核模式 17 1.12 64位,32位系统区别 18 1.12.1 CPU内部结构与寄存器 18 1.12.2 RISC与CISC CPU构架 18 1.12.3 SPARC,x86与ARM 18 1.13 汇编语言 18 1.13.1 I386汇编简介 18 1.13.2 VS反汇编 19 1.14 IDE工具 19 1.14.1 QT常用快捷键 19 1.14.2 VS常用快捷键 19 1.14.3 VS断点,调试 19 2 C语言中的数据类型 19 2.1 常量 19 2.1.1 #define 19 2.1.2 const 19 2.2 字符串常量 20 2.3 二进制数、位、字节与字 20 2.4 八进制 20 2.5 十六进制 20 2.6 原码 21 2.7 反码 21 2.8 补码 21 2.9 SIZEOF关键字 22 2.10 INT类型 22 2.10.1 int常量,变量 22 2.10.2 printf输出int值 23 2.10.3 printf输出八进制和十六进制 23 2.10.4 short,long,long long,unsigned int 23 2.10.5 整数溢出 23 2.10.6 大端对齐与小端对齐 23 2.11 CHAR类型 24 2.11.1 char常量,变量 24 2.11.2 printf输出char 24 2.11.3 不可打印char转义符 24 2.11.4 char和unsigned char 25 2.12 浮点FLOAT,DOUBLE,LONG DOUBLE类型 25 2.12.1 浮点常量,变量 25 2.12.2 printf输出浮点数 25 2.13 类型限定 25 2.13.1 const 25 2.13.2 volatile 26 2.13.3 register 26 3 字符串格式化输出和输入 26 3.1 字符串在计算机内部的存储方式 26 3.2 PRINTF函数,PUTCHAR函数 27 3.3 SCANF函数与GETCHAR函数 28 4 运算符表达式和语句 29 4.1 基本运算符 29 4.1.1 = 29 4.1.2 + 29 4.1.3 – 29 4.1.4 * 29 4.1.5 / 29 4.1.6 % 29 4.1.7 += 29 4.1.8 -= 29 4.1.9 *= 29 4.1.10 /= 30 4.1.11 %= 30 4.1.12 ++ 30 4.1.13 -- 30 4.1.14 逗号运算符 30 4.1.15 运算符优先级 30 4.2 复合语句 31 4.3 空语句 31 4.4 类型转化 31 5 条件分支语句 31 5.1 关系运算符 31 5.1.1 < 31 5.1.2 <= 31 5.1.3 > 32 5.1.4 >= 32 5.1.5 == 32 5.1.6 != 32 5.2 关系运算符优先级 32 5.3 逻辑运算符 32 5.3.1 && 32 5.3.2 || 32 5.3.3 ! 33 5.4 IF 33 5.5 IF ELSE 34 5.6 IF ELSE IF 34 5.7 SWITCH与BREAK,DEFAULT 35 5.8 条件运算符? 36 5.9 GOTO语句与标号 36 6 循环语句 36 6.1 WHILE 36 6.2 CONTINUE 37 6.3 BREAK 37 6.4 DO WHILE 37 6.5 FOR 37 6.6 循环嵌套 37 7 数组 38 7.1 一维数组定义与使用 38 7.2 数组在内存的存储方式 38 7.3 一维数组初始化 38 7.4 二维数组定义与使用 39 7.5 二维数组初始化 39 8 字符串与字符数组 39 8.1 字符数组定义 39 8.2 字符数组初始化 39 8.3 字符数组使用 40 8.4 随机数产生函数RAND与SRAND 40 8.5 用SCANF输入字符串 40 8.6 字符串的结束标志 41 8.7 字符串处理函数 41 8.7.1 gets 41 8.7.2 fgets函数 41 8.7.3 puts函数 42 8.7.4 fputs函数 42 8.7.5 strlen,字符串长度 42 8.7.6 strcat,字符串追加 42 8.7.7 strncat,字符串有限追加 43 8.7.8 strcmp,字符串比较 43 8.7.9 strncmp,字符串有限比较 43 8.7.10 strcpy字符串拷贝 43 8.7.11 strncpy字符串有限拷贝 43 8.7.12 sprintf,格式化字符串 43 8.7.13 Sscanf函数 44 8.7.14 strchr查找字符 44 8.7.15 strstr查找子串 44 8.7.16 strtok分割字符串 44 8.7.17 atoi转化为int 45 8.7.18 atof转化为float 45 8.7.19 atol转化为long 45 9 函数 45 9.1 函数的原型和调用 45 9.2 函数的形参与实参 45 9.3 函数的返回类型与返回值 46 9.4 MAIN函数与EXIT函数与函数的RETURN语句 46 9.5 多个源代码文件程序的编译 47 9.5.1 头文件的使用 47 9.5.2 #include与#define的意义 47 9.5.3 #ifndef与#endif 47 9.6 函数的递归 48 9.6.1 递归的过程分析 48 9.6.2 递归的优点 52 9.6.3 递归的缺点 52 1 指针 52 1.1 指针 52 1.1.1 指针的概念 52 1.1.2 指针变量的定义 52 1.1.3 &取地址运算符 52 1.1.4 无类型指针 52 1.1.5 NULL 53 1.1.6 空指针与野指针 53 1.1.7 指针的兼容性 53 1.1.8 指向常量的指针与指针常量 54 1.1.9 指针与数组的关系 54 1.1.10 指针运算 54 1.1.11 通过指针使用数组元素 55 1.1.12 指针数组 55 1.1.13 指向指针的指针(二级指针) 55 1.1.14 指向二维数组的指针 57 1.1.15 指针变量做为函数的参数 57 1.1.16 一维数组名作为函数参数 57 1.1.17 二维数组名作为函数参数 58 1.1.18 const关键字保护数组内容 58 1.1.19 指针做为函数的返回值 58 1.1.20 指向函数的指针 59 1.1.21 把指向函数的指针做为函数的参数 60 1.1.22 memset,memcpy,memmove函数 61 1.1.23 指针小结 63 2 字符指针与字符串 64 2.1 指针和字符串 64 2.2 通过指针访问字符串数组 64 2.3 函数的参数为CHAR * 64 2.4 指针数组做为MAIN函数的形参 65 3 内存管理 65 3.1 作用域 65 3.1.1 auto自动变量 65 3.1.2 register寄存器变量 65 3.1.3 代码块作用域的静态变量 66 3.1.4 代码块作用域外的静态变量 66 3.1.5 全局变量 66 3.1.6 外部变量与extern关键字 66 3.1.7 全局函数和静态函数 66 3.2 内存四区 66 3.2.1 代码区 67 3.2.2 静态区 67 3.2.3 栈区 67 3.2.4 栈溢出 68 3.2.5 堆区 68 3.3 堆的分配和释放 70 3.3.1 malloc 70 3.3.2 free 70 3.3.3 calloc: 70 3.3.4 realloc 71 4 结构体,联合体,枚举与TYPEDEF 71 4.1 结构体 71 4.1.1 定义结构体struct和初始化 71 4.1.2 访问结构体成员 71 4.1.3 结构体的内存对齐模式 72 4.1.4 指定结构体元素的位字段 72 4.1.5 结构数组 72 4.1.6 嵌套结构 73 4.1.7 结构体的赋值 73 4.1.8 指向结构体的指针 73 4.1.9 指向结构体数组的指针 73 4.1.10 结构中的数组成员和指针成员 73 4.1.11 在堆中创建的结构体 74 4.1.12 将结构作为函数参数 74 4.1.13 结构,还是指向结构的指针 74 4.2 联合体 75 4.3 枚举类型 75 4.3.1 枚举定义 75 4.3.2 默认值 76 4.4 TYPEDEF 76 4.5 通过TYPEDEF定义函数指针 76 5 文件操作 77 5.1 FOPEN 77 5.2 二进制和文本模式的区别 77 5.3 FCLOSE 78 5.4 GETC和PUTC函数 78 5.5 EOF与FEOF函数文件结尾 78 5.6 FPRINTF,FSCANF,FGETS,FPUTS函数 78 5.7 STAT函数 78 5.8 FREAD和FWRITE函数 79 5.9 FREAD与FEOF 79 5.10 通过FWRITE将结构保存到二进制文件中 79 5.11 FSEEK函数 80 5.12 FTELL函数 80 5.13 FFLUSH函数 80 5.14 REMOVE函数 81 5.15 RENAME函数 81 6 基础数据结构与算法 82 6.1 什么是数据结构 82 6.2 什么是算法 82 6.3 排序 83 6.3.1 冒泡排序 83 6.3.2 选择排序 83 6.4 查找 83 6.4.1 顺序查找 83 6.4.2 二分查找 83 6.5 链表 84 6.5.1 单向链表定义 84 6.5.2 单向链表数据结构定义 85 6.5.3 单向链表的实现 85
《明解C语言 第3版 入门篇》是日本的C语言经典教材,自出版以来不断重印、修订,被誉为“C语言圣经”。 《明解C语言 第3版 入门篇》图文并茂,示例丰富,第3版从190段代码和164幅图表增加到205段代码和220幅图表,对C语言的基础知识进行了彻底剖析,内容涉及数组、函数、指针、文件操作等。对于C语言语法以及一些难以理解的概念,均以精心绘制的示意图,清晰、通俗地进行讲解。原著在日本广受欢迎,始终位于网上书店C语言著作排行榜首位。 第1章 初识C语言 1 1-1 显示计算结果 2 计算整数的和并显示结果 2 程序和编译 2 注释 3 固定代码 4 printf函数:格式化输出函数 4 语句 5 计算并显示整数的差 5 格式化字符串和转换说明 6 符号的称呼 8 无格式化输出 8 字符串常量 10 转义字符 10 1-2 变量 11 变量和声明 11 赋值 12 初始化 13 声明时初始化 14 初始化和赋值 14 1-3 输入和显示 16 通过键盘进行输入 16 格式化输入函数scanf 16 乘法运算 17 输出函数puts 18 总结 21 第2章 运算和数据类型 23 2-1 运算 24 运算符和操作数 24 乘除运算符和加减运算符 25 除法运算的商和余数 25 使用printf函数打印% 26 获取整数的最后一位数字 26 多个转换说明 27 单目运算符 28 赋值运算符 29 表达式和赋值表达式 30 表达式语句 30 2-2 数据类型 31 求平均值 31 数据类型 32 数据类型和对象 33 整型常量和浮点型常量 34 double类型的运算 34 数据类型和运算 35 类型转换 37 转换说明 39 总结 42 第3章 分支结构程序 45 3-1 if语句 46 if语句·其1 46 奇数的判定 47 if语句·其2 48 奇数·偶数的判断 49 非0的判断 49 if语句的结构图 50 相等运算符 52 余数的判断 53 关系运算符 54 嵌套的if语句 55 判断 57 计算较大值 58 计算三个数的最大值 59 条件运算符 60 差值计算 61 复合语句(程序块) 62 逻辑运算符 65 短路求值 67 3-2 switch语句 70 switch语句和break语句 70 复杂的switch语句 72 switch语句和if语句 73 选择语句 74 总结 75 第4章 程序的循环控制 77 4-1 do语句 78 do语句 78 复合语句(程序块)中的声明 79 读取一定范围内的值 80 逻辑非运算符·德摩根定律 81 德摩根定律 81 求多个整数的和及平均值 82 复合赋值运算符 84 后置递增运算符和后置递减运算符 85 4-2 while语句 87 while语句 87 用递减运算符简化程序代码 88 数据递增 90 限定次数的循环操作 91 字符常量和putchar函数 92 do语句和while语句 93 前置递增运算符和前置递减运算符 93 do语句的显示 95 逆向显示整数值 96 4-3 for语句 99 for语句 99 使用for语句实现固定次数的循环 101 偶数的枚举 103 约数的枚举 104 表达式语句和空语句 104 循环语句 105 4-4 多重循环 107 二重循环 107 用break语句强制结束循环 108 显示图形 109 多重循环 111 4-5 程序的组成元素和格式 114 关键字 114 运算符 114 标识符 114 分隔符 115 常量和字符串常量 115 自由的书写格式 116 连接相邻的字符串常量 117 缩进 117 总结 118 第5章 数组 121 5-1 数组 122 数组 122 数组的声明(使用数组前的准备) 123 访问数组(数组的使用方法) 123 数组的遍历 124 数组初始化 126 数组的复制 127 输入数组元素的值 129 对数组的元素进行倒序排列 129 使用数组进行成绩处理 131 对象式宏 131 数组元素的最大值和最小值 133 赋值表达式的判断 134 数组的元素个数 135 5-2 多维数组 138 多维数组 138 总结 142 第6章 函数 145 6-1 什么是函数 146 main函数和库函数 146 什么是函数 146 函数定义 147 函数调用 148 三个数中的最大值 151 将函数的返回值作为参数传递给函数 152 调用其他函数 154 值传递 155 6-2 函数设计 158 没有返回值的函数 158 通用性 159 不含形参的函数 160 函数返回值的初始化 161 作用域 161 文件作用域 162 声明和定义 163 函数原型声明 163 头文件和文件包含指令 164 函数的通用性 165 数组的传递 166 函数的传递和const类型的修饰符 168 线性查找(顺序查找) 170 哨兵查找法 172 多维数组的传递 175 6-3 作用域和存储期 178 作用域和标识符的可见性 178 存储期 180 总结 185 第7章 基本数据类型 189 7-1 基本数据类型和数 190 算数类型和基本数据类型 190 基数 191 基数转换 192 7-2 整型和字符型 195 整型和字符型 195 头文件 196 字符型 199 位和CHAR_BIT 200 sizeof运算符 200 size_t型和typedef声明 202 整型的灵活运用 202 整型的内部表示 204 无符号整数的内部表示 205 有符号整数的内部表示 207 按位操作的逻辑运算 209 位移运算符 212 整型常量 216 整型常量的数据类型 218 整数的显示 218 数据溢出和异常 220 7-3 浮点型 221 浮点型 221 浮点型常量 223 头文件 224 循环的控制 225 7-4 运算和运算符 228 运算符的优先级和结合性 228 优先级 228 结合性 228 数据类型转换 230 总结 232 第8章 动手编写各种程序吧 235 8-1 函数式宏 236 函数和数据类型 236 函数式宏 237 函数和函数式宏 238 不带参数的函数式宏 239 函数式宏和逗号运算符 240 8-2 排序 243 冒泡排序法 243 8-3 枚举类型 246 枚举类型 246 枚举常量 248 命名空间 250 8-4 递归函数 251 函数和类型 251 阶乘 252 8-5 输入输出和字符 255 getchar函数和EOF 255 从输入复制到输出 256 数字字符计数 256 字符 258 转义字符 261 总结 263 第9章 字符串的基本知识 265 9-1 什么是字符串 266 字符串字面量 266 字符串字面量的长度 266 字符串 268 字符数组的初始化赋值 269 空字符串 270 字符串的读取 270 格式化显示字符串 271 9-2 字符串数组 273 字符串数组 273 读取字符串数组中的字符串 274 9-3 字符串处理 275 字符串长度 275 显示字符串 277 数字字符的出现次数 278 大小写字符转换 279 字符串数组的参数传递 280 总结 283 第10章 指针 285 10-1 指针 286 函数的参数 286 对象和地址 287 取址运算符 288 指针 289 指针运算符 291 10-2 指针和函数 293 作为函数参数的指针 293 计算和与差 294 二值互换 296 将两个值排序 297 scanf函数和指针 298 指针的类型 299 空指针 300 标量型 301 10-3 指针和数组 302 指针和数组 302 指针运算符和下标运算符 304 数组和指针的不同点 306 数组的传递 308 总结 311 第11章 字符串和指针 315 11-1 字符串和指针 316 用数组实现的字符串和用指针实现的字符串 316 用数组实现的字符串和用指针实现的字符串的不同点 318 字符串数组 320 11-2 通过指针操作字符串 323 判断字符串长度 323 字符串的复制 325 不正确的字符串复制 328 返回指针的函数 329 11-3 字符串处理库函数 330 strlen函数:求字符串的长度 330 strcpy函数、strncpy函数:复制字符串 331 strcat函数、strncat函数:连接字符串 332 strcmp函数、strncmp函数:比较字符串的大小关系 332 atoi函数、atol函数、atof函数:转换字符串 333 总结 336 第12章 结构体 339 12-1 结构体 340 数据关联性 340 结构体 342 结构体成员和运算符 344 成员的初始化 345 结构体成员和->运算符 346 结构体和typedef 348 结构体和程序 350 聚合类型 351 返回结构体的函数 351 命名空间 353 结构体数组 353 派生类型 355 12-2 作为成员的结构体 356 表示坐标的结构体 356 具有结构体成员的结构体 357 总结 361 第13章 文件处理 363 13-1 文件与流 364 文件与流 364 标准流 365 FILE型 365 打开文件 365 关闭文件 368 打开与关闭文件示例 369 文件数据汇总 370 写入日期和时间 372 获取上一次运行时的信息 376 显示文件内容 378 文件的复制 380 13-2 文本和二进制 382 在文本文件中保存实数 382 文本文件和二进制文件 383 在二进制文件中保存实数 384 显示文件自身 386 13-3 printf函数与scanf函数 389 printf函数:带格式输出 389 scanf函数:带格式的输入 393 总结 397 附录 C语言简介 399 C语言的历史 400 K&R——C语言的圣经 400 C语言标准规范 400 结语 402 参考文献 405
# 现代C语言核心特性解析,C语言编程与宠物狗互动案例分析 本文主要介绍现代C语言的核心特性和如何使用C语言与宠物狗进行互动。现代C语言是C语言的一种现代化发展,具有更加丰富的特性和更高的安全性。 在本文中,我们将详细介绍现代C语言的核心特性。首先,我们将介绍C语言的基本数据类型和运算符。接着,我们将深入探讨指针和数组,包括指针的基本概念、指针的算术运算、指针和数组的关系等等。然后,我们将介绍C语言中的结构体和联合体,以及这些数据类型在实际编程中的应用。此外,我们还将讲解C语言中的函数和递归,以及如何使用它们来构建更加复杂的程序。 除此之外,我们还将介绍C语言中的文件操作和动态内存分配,这些功能在实际编程中非常重要。我们将详细讲解如何打开和关闭文件、如何读写文件、如何定位文件指针等等。此外,我们还将介绍如何使用动态内存分配函数来管理内存,以及如何防止内存泄漏和内存溢出等问题。 在掌握了现代C语言的核心特性之后,我们将进一步介绍如何使用C语言与宠物狗进行互动。我们将首先讲解如何读取宠物狗的状态,包括它的体温、心率、呼吸等等。然后,我们将介绍如何发送命令给宠物狗,例如让它坐下、躺下
1. C 语言中的指针和内存泄漏 5 2. C语言难点分析整理 10 3. C语言难点 18 4. C/C++实现冒泡排序算法 32 5. C++中指针和引用的区别 35 6. const char*, char const*, char*const的区别 36 7. C中可变参数函数实现 38 8. C程序内存中组成部分 41 9. C编程拾粹 42 10. C语言中实现数组的动态增长 44 11. C语言中的位运算 46 12. 浮点数的存储格式: 50 13. 位域 58 14. C语言函数二维数组传递方法 64 15. C语言复杂表达式的执行步骤 66 16. C语言字符串函数大全 68 17. C语言宏定义技巧 89 18. C语言实现动态数组 100 19. C语言笔试-运算符和表达式 104 20. C语言编程准则之稳定篇 107 21. C语言编程常见问题分析 108 22. C语言编程易犯毛病集合 112 23. C语言缺陷与陷阱(笔记) 119 24. C语言防止缓冲区溢出方法 126 25. C语言高效编程秘籍 128 26. C运算符优先级口诀 133 27. do/while(0)的妙用 134 28. exit()和return()的区别 140 29. exit子程序终止函数与return的差别 141 30. extern与static存储空间矛盾 145 31. PC-Lint与C\C++代码质量 147 32. spirntf函数使用大全 158 33. 二叉树的数据结构 167 34. 位运算应用口诀和实例 170 35. 内存对齐与ANSI C中struct内存布局 173 36. 冒泡和选择排序实现 180 37. 函数指针数组与返回数组指针的函数 186 38. 右左法则- 复杂指针解析 189 39. 回车和换行的区别 192 40. 堆和堆栈的区别 194 41. 堆和堆栈的区别 198 42. 如何写出专业的C头文件 202 43. 打造最快的Hash表 207 44. 指针与数组学习笔记 222 45. 数组不是指针 224 46. 标准C中字符串分割的方法 228 47. 汉诺塔源码 231 48. 洗牌算法 234 49. 深入理解C语言指针的奥秘 236 50. 游戏外挂的编写原理 254 51. 程序实例分析-为什么会陷入死循环 258 52. 空指针究竟指向了内存的哪个地方 260 53. 算术表达式的计算 265 54. 结构体对齐的具体含义 269 55. 连连看AI算法 274 56. 连连看寻路算法的思路 283 57. 重新认识:指向函数的指针 288 58. 链表的源码 291 59. 高质量的子程序 295 60. 高级C语言程序员测试必过的十六道最佳题目+答案详解 297 61. C语言常见错误 320 62. 超强的指针学习笔记 325 63. 程序员之路──关于代码风格 343 64. 指针、结构体、联合体的安全规范 346 65. C指针讲解 352 66. 关于指向指针的指针 368 67. C/C++ 误区一:void main() 373 68. C/C++ 误区二:fflush(stdin) 376 69. C/C++ 误区三:强制转换 malloc() 的返回值 380 70. C/C++ 误区四:char c = getchar(); 381 71. C/C++ 误区五:检查 new 的返回值 383 72. C 是 C++ 的子集吗? 384 73. C和C++的区别是什么? 387 74. 无条件循环 388 75. 产生随机数的方法 389 76. 顺序表及其操作 390 77. 单链表的实现及其操作 391 78. 双向链表 395 79. 程序员数据结构笔记 399 80. Hashtable和HashMap的区别 408 81. hash 表学习笔记 410 82. C程序设计常用算法源代码 412 83. C语言有头结点链表的经典实现 419 84. C语言惠通面试题 428 85. C语言常用宏定义 450

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧