| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2523 人关注过本帖
标题:array 和 &array 有区别吗?
只看楼主 加入收藏
五年约
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2018-7-21
结帖率:25%
收藏
已结贴  问题点数:20 回复次数:7 
array 和 &array 有区别吗?
如题
搜索更多相关主题的帖子: array 区别 
2018-07-31 16:15
no1xijin
Rank: 9Rank: 9Rank: 9
来 自:江西
等 级:贵宾
威 望:20
帖 子:211
专家分:1207
注 册:2015-7-8
收藏
得分:3 
有的,需要具体情况具体分析

126邮箱联系方式:no1xijin@126. com
2018-07-31 17:48
kfyniriu
Rank: 6Rank: 6
等 级:侠之大者
威 望:9
帖 子:105
专家分:426
注 册:2018-7-6
收藏
得分:3 
int(char\float...) array
array 表示变量   &array是指向array变量的地址
array[N]
array表示数组首地址,即array[0]    &array表示指向数组地址的地址,等同于**p
array[][]
array表示数组首地址,即array[0][0],等同于**p    &array[2]+1=*(*(p+2)+1),表示二位数组第二行,第一列
2018-07-31 23:49
凌海逸
Rank: 1
等 级:新手上路
帖 子:9
专家分:6
注 册:2018-7-6
收藏
得分:3 
&是取地址运算
2018-08-01 11:08
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:3 
一个表示变量一个表示变量的引用吧。
2018-08-01 19:31
呵无敌
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2018-8-2
收藏
得分:3 
二楼说得有道理
具体如下:
程序代码:
#include <stdio.h>
int main()
{
    int array1 = 0;
    printf("array1=%d  &array1=%d\n", array1, &array1);

    int *array2 = NULL;
    printf("array2=%d  &array2=%d\n", array2, &array2);

    int array3[10] = {};
    printf("array3=%d  &array3=%d\n", array3, &array3);
    
    return 0;
}

输出如下:
array1=0  &array1=2686272
array2=0  &array2=2686268
array3=2686276  &array3=2686276
2018-08-02 20:49
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:3 
array看似是表达一个数组名,最好加个声明看看。
2018-08-03 05:14
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:3 
array、*array和&array三者的区别

假设我们定义一个指针array。
那么会经常使用到三个符号:
1,array;
2,*array;
3,&array;
初学者经常会感到很迷茫,到底这三个符号表示什么?
我们知道,array是一个指针变量的名字,表示此指针变量指向的内存地址,如果使用%array来输出的话,它将是一个16进制数。而*array表示此指针指向的内存地址中存放的内容,一般是一个和指针类型一致的变量或者常量。
而我们知道,&是取地址运算符,&array就是取指针array的地址。等会,怎么又来了个地址,它到底和array有什么区别?
区别在于,指针array同时也是个变量,既然是变量,编译器肯定要为其分配内存地址,就像程序中定义了一个int型的变量i,编译器要为其分配一块内存空间一 样。而&array就表示编译器为变量array分配的内存地址,而因为array是一个指针变量,这种特殊的身份注定了它要指向另外一个内存地址,程序员按照程序的需要 让它指向一个内存地址,这个它指向的内存地址就用array表示。而且,array指向的地址中的内容就用*array表示。
2018-08-03 09:07
快速回复:array 和 &array 有区别吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028620 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved