int*p,a[5];p=&a;
int *p,a;p=&a;
这个表示什么啊?? 本帖最后由 zqianglh 于 2018-8-3 11:16 编辑
int *p,a;
等于int* p; int a;
p=&a;
把数组a的地址赋值给指针p; 32位系统中
int *p,a;
int *p;分配了4个字节空间;这段4字节内存和字母p关联,这个p可以看成 指针
a;分配了20个空间; 这个和以上类似。
在本质上他们都是 地址空间和标识符关联。
都是地址空间,他们都可以存数据,反正计算机都是存储数据的。
但是不同的关联,他们处理方式不一样。
比如int * p; 这个p可以存储其他地址空间地址。在使用p的时候也会这样去解释
int a;连续在内存中开辟20个字节,首地址和标识符a关联,他们以整数的方法存储。
希望不会给你绕晕了,欢迎大家讨论 zqianglh 发表于 2018-8-1 22:02
int *p,a;
等于int* p; int* a;
p=&a;
int *p, a;
应该是这样理解
int *p; // 只有 p 是指针
int a; // a 是有五个整形元素的数组
四十不环:
p = &a;
p 指向 a 这个数组的第一个元素的地址
一开始确实有点复杂,但注意 int *p 说明 p 被 * 作用之后会是一个整数,跟 int b 每差别,只不过 p 是指向 a 的地址(p = &a),然后 *p = a。 claws0n 发表于 2018-8-2 00:31
int *p, a;
应该是这样理解
int *p; // 只有 p 是指针
我的概念不清 理解错了 claws0n 发表于 2018-8-2 00:31
int *p, a;
应该是这样理解
int *p; // 只有 p 是指针
&a应该j是指向的是整个数组的位置
a才是这个数组的第一个元素吧?? 四十不环 发表于 2018-8-3 00:28
&a应该j是指向的是整个数组的位置
a才是这个数组的第一个元素吧??
没有所谓的整个数组。因为数组的数据是连续的,所以只需记录第一个元素。a 只是一个代号让我们阅读、可理解。a 必须解引用才会是数组所记录的资料。
页:
[1]