谈谈数组和指针组合时,表示什么样的变量
来源:互联网 发布:类似淘宝联盟的网站 编辑:程序博客网 时间:2024/06/05 19:44
int *a[2], int(*a)[2]
当一看到这上面两个数组和指针组合的变量时,许多人不清楚这到底表示什么意思
实际上:
①int * a[2]表示一个指针数组,也就是说这是一个数组,这个数组的每个成员都能存储一个内存地址,比如a[0],a[1]可以看做是指针,指向它们的值表示的内存
如:
int c=0;
int *p=&c;
int *a[2];
a[0]=p;
a[1]=&c;
printf("%d,%d\n",*a[0],*a[1]);
②int (*a)[2]这个是一个指针,是指向一个二元数组的指针。要注意的是,这个指针赋值时只能令a等于一个二维数组,且不能令a[0],a[1]等于什么。要想使用这个指针,先要初始化,然后(*a)[0]这样调用
如:
int b[2]={0,1};
int (*a)[2]=b;
printf("%d %d\n",(*a)[0],(*a)[1]);
备注:*a[],中括号的优先级大于*。所以可以这样记住:
对于:int * a[2],先中括号,所以可看做表示一个数组。然后*,数组的内容为指针
同理int (*a)[2]
0 0
- 谈谈数组和指针组合时,表示什么样的变量
- 指向一维数组的指针变量和指向二维数组的指针变量---注意其指针表示
- 指针变量表示二维数组
- 数组的指针表示
- 数组和指针表示法
- 数组的指针和指向数组的指针变量
- 指针数组和指向指针变量的指针
- 数组变量和指针的关系
- 数组名和指针变量的差异
- 二维数组指针的表示
- 在c中,指针数组和数组指针的表示和理解
- 数组名和指针变量
- c++:变量,数组和指针
- 数组用指针表示时的区别与相同
- sizeof用法,指针变量和数组变量
- 二维数组的五种指针表示及指针数组
- 多维数组的指针表示方法拾遗
- 字符串与char数组的指针表示
- READING NOTE: R-FCN: Object Detection via Region-based Fully Convolutional Networks
- android 内存优化
- iOS 添加翼支付打包上传出错 ERROR ITMS-90535
- 字符串字符互异判断
- Volley的基本用法 使用Volley加载网络图片
- 谈谈数组和指针组合时,表示什么样的变量
- 高斯遥感稳像的论文
- 尹薇茹:教你如何避免套单,轻松解套
- Android Studio导入银联sdk
- UITextView动态调整高度
- 第13周阅读程序——虚析构函数
- Java 多态的主板示例
- 设计模式 - Strategy模式
- Intent传值的使用