大小端存储
int a = 0;
char* p = &a;
*p = 63;
*(p + 1) = 66;
*(p + 2) = 15;
*(p + 3) = 0;
printf("%d\n",a);
大端存储 :低地址存高位
小端存储 :低地址存低位
主机字节序 小端存储
网络字节序 大端存储
拆字节的时候和网络 要注意大小端存储
指针注意事项
- 不要操作不属于本程序的内存
- 当一个指针一开始不知道指向哪里的时候,让它指向NULL
- 指针指向NULL 表示该指针不指向任何空间
- 定义指针时 *要和变量名先结合
二级指针
int a = 100;
int* p = &a;
int** pp = &p;
int b;
/***pp = 200;*/
*pp = &b;
**pp = 10;
printf("%d\n",a);
printf("%d\n",b);
数组
//相同类型元素的集合
int arr[10] = {1,2,3,4,5,6,7,8,9,10};//完全初始化
int arr1[10] = {1,2,3};//不完全初始化 没有初始化的元素默认初始化为0
int arr2[] = {1,2,3};//不完全初始化 类型为int [3] 有初始化可以不给元素个数 根据初始化数量分配空间
//下标访问 数组名 + [第几个元素 - 1]
arr[4] = 50;
//遍历数组
//for(i = 0; i < 元素个数;i++)
int i;
for (i = 0; i < 10; i++)
{
printf("%d\n",arr[i]);
}