程序猿之---C语言细节6(数组参数、数组越界、编译器内存分配)
来源:互联网 发布:在淘宝天猫买药靠谱吗 编辑:程序博客网 时间:2024/04/28 08:14
主要内容:数组参数、数组越界、编译器内存分配
#include <stdio.h> int main(int argc, char *argv[]){ char hello[] = "hello"; printf("%s\n", hello);//和下面等效,就如main函数中char *argv[]和char **argv等效 printf("%s\n", &hello[0]); int i,a[10];for(i = 0; i <= 10; i++) // c语言数组不检测越界 {a[i] = 0; // a[10]即数组a之后的一个字(word)内存被设置为1 // 如果用来编译这段代码的编译器是按内存地址 递减 // 的方式来给变量分配内存,那么a[10]相当于给变量i赋值为0 // 这样就陷入了死循环(这里编译器不是递减分配内存,我这里的解释 // 应该是有问题的,待讨论) printf("%d\n", a[i]);}printf("i = %d\n",i);return 0;}
输出:
0 0
- 程序猿之---C语言细节6(数组参数、数组越界、编译器内存分配)
- 程序猿之---C语言细节14(字符串数组内存分配细节‘\0’空字符、字符串数组赋值细节、字符串换行连接和下标)
- 程序猿之---C语言细节11(数组下标越界后测试、数组下标中“ ,”运算符,副作用)
- 数组越界的内存分配
- 程序猿之---C语言细节5(字符串内存分配、合并两个字符串)
- C语言的编译器为什么不检查数组下标越界
- C语言 内存分配 地址 指针 数组 参数 实例解析
- C语言 内存分配 地址 指针 数组 参数 实例解析
- C语言 内存分配 地址 指针 数组 参数 实例解析
- C语言 内存分配 地址 指针 数组 参数 实例解析
- C语言 内存分配 地址 指针 数组 参数 实例解析
- C语言 内存分配 地址 指针 数组 参数 实例解析
- C语言 内存分配 地址 指针 数组 参数 实例解析
- C语言 内存分配 地址 指针 数组 参数 实例解析 (C语言复习)
- 程序猿之---C语言细节17(求time_t的最大值、strlen求的是长度、malloc分配字符内存细节、switch的中default细节)
- 程序猿之--C语言细节4(数组及指针操作)
- 程序猿之---C语言细节12(指针和数组细节,"//"的可移植性说明)
- C语言中的数组越界
- Foundation中的NSSet与NSArray区别与联系
- POJ_3279_Fliptile_搜索、二进制枚举
- IO流之Object流
- 从XML中获取字符的总结
- Linux 标准目录结构
- 程序猿之---C语言细节6(数组参数、数组越界、编译器内存分配)
- C++Primer3.3.2练习题。
- 词典用法和数组排序
- JSP知识点汇总
- MonkeyRunner介绍
- linux中对spin_lock的实现
- 134 编程实现:把十进制数(long 型)分别以二进制和十六进制形式输出,不能使用 printf系列
- C++经验 待补充
- xcode6 cocos2dx玩转git和github之学习记录