变量的细节和数组
来源:互联网 发布:开源的app源码 编辑:程序博客网 时间:2024/05/07 16:39
IOS学习第10天
深入变量的细节
1.局部变量是存在”栈区”的,栈区的地址是从高到底分配的
2.存储数据的时候,数据是以二进制的补码形式存储的,高位存储在高地址,低位存储在低地址
3.变量的地址:是指最低位所在的内存的地址
4.取变量的地址:&变量名 打印地址:printf(“%p\n”,&变量名)
垃圾值的由来
1.如果定义了一个局部变量,但并没有初始化一个值,则这个局部变量中存储的则是一个垃圾值
2.如果定义了一个全局变量,但没有初始化一个值,则系统会自动为全局变量赋值0
int类型的修饰符
数组
数组中存储的是具有相同类型的确定个数的变量
- * 为元素赋值的注意点*
1.为元素赋值的时候,赋值的数据类型要和元素的类型一致
2.为元素赋值的时候,下标不能月结,如果下标月结,就会产生难以预料的结果
3.声明数组的时候,必须要指定数组的长度
4.数组的长度一般是常量,也可以是变量或者是表达式
int len = 4int a[len];
5.数组的长度不能使小数,不能是负数
6.数组的长度可以使1,也可以是0,但是没有意义
- 数组元素的默认值和初始化
1.声明一个数组却没有为数组的元素赋值,那么他里面的每一个元素都是一个垃圾值2.关于数组元素的初始化: 1>定义的同时初始化:静态初始化 "注意:使用这种方法初始化 数组的长度就不能用变量 int nums[5] = ...// 1)int nums[3] = {1,2,3}//指定长度全部初始化 2)int nums[] = {1,2,3,4}//不指定长度全部初始化 3)int nums[5] = {1,2}//指定长度 部分初始化 //奇葩初始化 4)int nums[5] = {[0] = 10,[3] = 50} 只要是静态初始化,那么其中如果某些元素没有初始化,他的默认值0 2>先定义后初始化: 动态初始化 只有一种方式:挨个赋值,如果有某些元素没有赋值 那么默认值是垃圾值 int nums[5]; nums[0] = 10;3.要将数组中的所有元素初始化为0,怎么办? int nums[10] = {0};4.这么赋值行不行? int nums[6]; nums = {1,2,3,4,5,6}; int num = 0; scanf("%d",&num); int arr[num];//这样不会报错 int num = 0; scanf("%d",&num); //C99中 数组的长度 不能是变量 //xcode不彻底 int arr[num] = {0};//这样回报错why?? ```* 数组的遍历
int a[数组的长度];
for(int i = 0;i < 数组的长度; i++)
{
printf(“%d “,a[i]);
}
printf(“\n”);
* **数组在内存中的存储形式和数组的地址**1.数组在内存中也是从高字节向低字节申请"连续"的(数组长度 * 每一个元素的字节数)个字节空间2.数组的地址 == 数组中最低字节的地址 == 数组中下标为0的元素的地址 == 数组中下标为0的最低字节的地址 == 数组名**数组名就是数组的地址*** **查找数组中是否存在该元素**
int key = 50;
int nums[] = {13,12,343,45,635,46,756,8};int len = sizeof(nums)/sizeof(nums[0]);int flag = 1000;for( int i = 0;i < len;i++){ //取出每一一个元素 if(nums[i] == key){ //找到了 printf("找到了!\n"); flag = 9999; break; }else{
// printf(“meizhaodao\n”);
//因为找没找到,只有到循环结束之后才知道
}
}
//循环结束 判断找没找到的第一种方式
// if(i == len){
// printf(“没找到”);
// }
////循环结束 判断找没找到的第二种方式
if(flag == 1000){
printf(“没找到”);
}
“`
- 变量的细节和数组
- C#_static变量的细节和使用
- php中数组的细节和遍历
- 变量的申请细节
- javascript里有关全局变量和局部变量的一些细节
- javaScript数据类型和变量需要注意的几个细节
- 字符数组的细节
- 条件变量的细节问题
- 临时变量的一些细节
- 变量的生命周期,堆栈细节
- java数组的初始化;数组对象和数组变量
- 透过一些实例理解数组和指针的一些细节
- ASP--变量定义,和数组的定义
- 整型变量和字节数组的 转换
- 数组变量和指针的关系
- 知识点:Java变量和数组的默认值
- 数组名和指针变量的差异
- 数组的指针和指向数组的指针变量
- java面试题15--迭代器并发修改异常ConcurrentModificationException
- 剑指offer:整数中1出现的次数(从1到n整数中1出现的次数)
- 作为初学者,自己做的选字游戏
- python爬虫(中)--保存
- mycat初使用体验与分库分表
- 变量的细节和数组
- AsyncTask异步加载数据
- vim编辑的缩进
- JVM调优
- 数组与函数 数组的排序
- 网络编程笔记
- 0.618 与 1.414
- 大数运算(1)——大数储存
- 百度地图API后台持续定位、指南针改变位置问题