解析一维数组

数组是一组相同类型元素的集合。

[],解引用操作符。它其实就是数组访问的操作符。[]内必须是常量不能是变量。

数组在创建的时候如果想不指定数组的确定的大小就得初始化。数组的元素个数根据初始化的内容来确定。

> int arr1[10];
// 定义了一个名叫arr1的整型数组,里边有10个元素

> char arr2[]={'a','b','c','d','e','f'};
// 定义了一个名叫arr2的字符型数组,里边有6个元素。

数组大小的求法: size  = sizeof(arr)/sizeof(arr[0]

这里写图片描述


数组是按照从低地址往高地址存储的

这里写图片描述

strlen :从数组首地址开始查找,直到找到“\0”为止。

int a[] = {1,2,3,4};
printf("%d\n",sizeof(a)); //16 sizeof单独使用数组名时,表示整个数组的大小 4*4=16
printf("%d\n",sizeof(a+0));//4  首元素首地址
printf("%d\n",sizeof(*a));//4   第一个元素
printf("%d\n",sizeof(a+1));//4  第二个元素地址
printf("%d\n",sizeof(a[1]));//4 第二个元素
printf("%d\n",sizeof(&a));// 4  数组地址
printf("%d\n",sizeof(&a+1));//4 以整个数组为单位加1后,所指向的地址,即数组最后一个元素的后边地址,已经超出此数组的地址范围
printf("%d\n",sizeof(&a[0]));//4 第一个元素地址
printf("%d\n",sizeof(&a[0]+1));//4第二个元素地址



//字符数组
char arr[] = {'a','b','c','d','e','f'}; //不会存“\0”
printf("%d\n", sizeof(arr));// 6
printf("%d\n", sizeof(arr+0));// 4
printf("%d\n", sizeof(*arr));// 1
printf("%d\n", sizeof(arr[1]));// 1
printf("%d\n", sizeof(&arr));// 4
printf("%d\n", sizeof(&arr+1));// 4
printf("%d\n", sizeof(&arr[0]+1));// 4


printf("%d\n", strlen(arr));// 随机值 此次运行为(19)
printf("%d\n", strlen(arr+0));// (19)
printf("%d\n", strlen(*arr));// 错误  类型不匹配
//strlen(char*s)
printf("%d\n", strlen(arr[1]));// 错误  类型不匹配
printf("%d\n", strlen(&arr));// 类型警告
printf("%d\n", strlen(&arr+1));//类型警告
printf("%d\n", strlen(&arr[0]+1));// (18) 少数一个arr[0]所以为18  即从a[1]开始数


char *p = "abcdef"; // 会存"\0"
printf("%d\n", sizeof(p));// 4     指针
printf("%d\n", sizeof(p+1));//4    第二个元素地址
printf("%d\n", sizeof(*p));//1     第一个元素
printf("%d\n", sizeof(p[0]));//1   第一个元素
printf("%d\n", sizeof(&p));//4     地址
printf("%d\n", sizeof(&p+1));//4   跟p相连的下个4字节
printf("%d\n", sizeof(&p[0]+1));//4 


printf("%d\n", strlen(p));//6
printf("%d\n", strlen(p+1));//5
printf("%d\n", strlen(*p));//错误
printf("%d\n", strlen(&p[0]));//6
printf("%d\n", strlen(&p));//类型错误
printf("%d\n", strlen(&p+1));// 类型错误
printf("%d\n", strlen(&p[0]+1));// 5

常用C语言操作符:
http://blog.csdn.net/romantic_c/article/details/78235116

二分查找:
http://blog.csdn.net/romantic_c/article/details/78235337

冒泡查找:
http://blog.csdn.net/romantic_c/article/details/78278861

解析二维数组;
http://blog.csdn.net/romantic_c/article/details/78252234

C语言中的关键字及常用语句:
http://blog.csdn.net/Romantic_C/article/details/78660805

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值