数组和逗号表达式
来源:互联网 发布:淘宝怎样发布宝贝 编辑:程序博客网 时间:2024/04/28 10:15
注意数组里面的花括号{ },小括号 ( )和逗号,
逗号表达式的值是:先计算前面的表达式,后计算后面的表达式。
表达式最终的值是最后一个表达式的值。
举例1:
int main(){int a[3][2]={{0,1},(2,3),(4,5)};int *p;p=a[1];printf("%d\n",p[0]);//3printf("%d\n",p[1]);//5printf("%d\n",a[0][0]);//0printf("%d\n",a[0][1]);//1printf("%d\n",a[1][0]);//3printf("%d\n",a[1][1]);//5system("pause");return 0;}
定义了一个二维数组,3行2列,但是注意定义的里面有逗号和().
1) 用花括号{ }括起来的表示一组(行)元素,如上面的a[0]={0,1}是数组a的第0行元素
2) 而用小括号( )括起来的是逗号表达式,逗号表达式的取值是最后一个元素的值,计算后的最终值是一个元素。
所以(2,3)的值是3,a[1][0]=3;(4,5)的值是5,a[1][1]=5.后面没有列出的元素默认是0.
所以整个数组完整表达出来是:
int a[3][2]={{0,1},{3,5}};
默认的a[2][0]=0,a[2][1]=0
3)想起链表了,用结构体数组初始化链表的时候,因为后面有一个next指针,所以定义结构体数组的时候都是:
P a[10]={{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}}; //注意大括号里还有大括号,P是结构体类型
举例2:
将二维数组第一行的元素也改成逗号表达式
int main(){int a[3][2] = {(0,1),(2,3),(4,5)};int *p;p = a[0];printf("%d\t",p[0]);//1printf("%d\t",p[1]);//3printf("%d\n",p[2]);//5printf("%d\t",a[0][0]);//1printf("%d\n",a[0][1]);//3printf("%d\t",a[1][0]);//5printf("%d\n",a[1][1]);//0printf("%d\t",a[2][0]);//0printf("%d\n",a[2][1]);//0system("pause");return 0;}
此刻a={1,3,5};后续的元素默认都是0.
0 0
- 数组和逗号表达式
- 赋值表达式和逗号表达式
- 赋值表达式和逗号表达式
- 逗号运算符和逗号表达式
- 逗号运算符和逗号表达式
- 逗号运算符和逗号表达式
- 逗号运算符和逗号表达式
- 逗号表达式和逗号运算符
- 【c】c语言中逗号运算符和逗号表达式
- C的逗号运算符和逗号表达式
- C语言中逗号运算符和逗号表达式
- c语言中逗号运算符和逗号表达式
- C语言逗号运算符和逗号表达式
- C语言逗号运算符和逗号表达式
- c语言中逗号运算符和逗号表达式
- c语言中逗号运算符和逗号表达式
- C语言逗号运算符和逗号表达式
- C语言——逗号运算符和逗号表达式
- java方法调用都是值传递的理解
- 帮助文档打开后右边显示为空
- iOS基础之沙盒机制-路径获取
- 深刻理解Python中的元类(metaclass)
- 自然数幂和模板
- 数组和逗号表达式
- 字符指针的初始化以及程序分析实例
- 【案列】私人通讯录01
- 简单脱壳教程笔记(3)---手脱UPX壳(2)
- “1”+ “1”等于几?
- 蓝桥杯 第五届 六角填数
- 一个简易的账号登录/广播的使用
- 十二.通过bootstrap的modal.js来完成删除功能
- 安卓 jni 开发 —— Android Studio 打包 so 的坑