数组的大小和长度
来源:互联网 发布:韩版男装淘宝店有哪些 编辑:程序博客网 时间:2024/05/16 01:08
#include<stdio.h>int main(){int a[] = {1,2,3,4};printf("%d\n",sizeof(a)); //16printf("%d\n",sizeof(a+0));//4printf("%d\n",sizeof(*a)); //4printf("%d\n",sizeof(a+1)); //4printf("%d\n",sizeof(a[1])); //4printf("%d\n",sizeof(&a)); //4printf("%d\n",sizeof(&a+1));//4printf("%d\n",sizeof(&a[0]));//4printf("%d\n",sizeof(&a[0]+1)); //4getchar();return 0;}
#include<stdio.h>#include<string.h>int main(){char arr[] = {'a','b','c','d','e','f'}; printf("%d\n", sizeof(arr)); //6printf("%d\n", sizeof(arr+0));//4printf("%d\n", sizeof(*arr));//1printf("%d\n", sizeof(arr[1]));//1printf("%d\n", sizeof(&arr)); //4printf("%d\n", sizeof(&arr+1));//4printf("%d\n", sizeof(&arr[0]+1));//4 printf("%d\n", strlen(arr));//随机值printf("%d\n", strlen(arr+0));//随机值//printf("%d\n",strlen(*arr));//printf("%d\n", strlen(arr[1]));printf("%d\n", strlen(&arr));//随机值printf("%d\n", strlen(&arr+1));//随机值printf("%d\n", strlen(&arr[0]+1)); //随机值getchar();return 0;}
#include<stdio.h>#include<string.h>int main(){char *p = "abcdef";printf("%d\n", sizeof(p));//4printf("%d\n", sizeof(p+1));//4printf("%d\n", sizeof(*p)); //1printf("%d\n", sizeof(p[0])); //1printf("%d\n", sizeof(&p)); //4printf("%d\n", sizeof(&p+1)); //4printf("%d\n", sizeof(&p[0]+1)); //4 printf("%d\n", strlen(p)); //6printf("%d\n", strlen(p+1));//5//printf("%d\n", strlen(*p));//printf("%d\n", strlen(p[0]));printf("%d\n", strlen(&p));//随机值printf("%d\n", strlen(&p+1));//随机值printf("%d\n", strlen(&p[0]+1));//5 getchar();return 0;}
#include<stdio.h>#include<string.h>int main(){char p[] = "abcdef";printf("%d\n", strlen(p)); //6printf("%d\n", strlen(p+1));//5//printf("%d\n", strlen(*p));//printf("%d\n", strlen(p[0]));printf("%d\n", strlen(&p));//6printf("%d\n", strlen(&p+1));//随机值printf("%d\n", strlen(&p[0]+1));//5 getchar();return 0;}
#include<stdio.h>#include<string.h>int main(){int a[3][4] = {0}; printf("%d\n",sizeof(a)); //48printf("%d\n",sizeof(a[0][0]));//4;printf("%d\n",sizeof(a[0]));//16;printf("%d\n",sizeof(a[0]+1));//4printf("%d\n",sizeof(a+1)); //4printf("%d\n",sizeof(&a[0]+1));//4printf("%d\n",sizeof(*a)); //16printf("%d\n",sizeof(a[3])); //16getchar();return 0;}
总结 :数组名只有在两种情况下代表整个数组
1 sizeof()括号中只放数组名时代表整个数组;
2 取地址&数组名代表整个数组;
除此之外的所有情况均指数组首元素地址或数组地址。
0 0
- 数组的大小和长度
- 未定义长度和定义长度的数组
- 数组和指针的长度
- java修改数组长度/大小
- java修改数组长度/大小
- C# 中数组和字符串的长度
- 字符指针和字符数组的长度
- 长度为0的数组和 null
- 一维数组的长度和排序
- 字符数组的长度最大值和次大值
- java中String和数组的长度
- Java数组和字符串的长度计算
- JavaScript的数组定义和长度获取
- 一次seq大小和列长度不匹配的问题
- Exercice_3.7_判断两个字符串的大小和长度
- 【牛客 题库】 求字符串长度和大小 || 基类和派生类的构造函数,隐式调用与显式调用 || 数组下标的数据类型
- shell 数组的定义 和 数组的长度
- 数组长度为0和数组为null的区别
- 梯度下降
- 【p1219-八皇后】解题记录
- node.js项目改进之环境配置
- React Native 初学之遇到的错误记录
- 建立软件研发文档的大致流程
- 数组的大小和长度
- Java ASM 学习方法及插件安装
- 浅谈RMQ算法
- 深入浅出MyBatis-快速入门
- Ogre编译速度慢的一种解决方法
- 欢迎使用CSDN-markdown编辑器
- mac 下mysql 修改密码
- Linux内核分析
- Activity的四种LaunchMode