C 指针和数组的区别

Abstract

本人正在学习Stanford CS107,课程中让人不停的看汇编,写汇编,让我对数组和指针有个很深的认识。


区别

在这里插入图片描述
int *a 是一个指针,他是一个变量,可以取地址。
int a[2]中的a是一个值,代表数组的地址。不能取地址。


汇编

在汇编里:这两个是这样的:
数组:
在这里插入图片描述
指针:
在这里插入图片描述


指针和数组 with 函数

Addition

#include <stdio.h>
int main()
{
        int a[2];
        printf("a:%x\n&a:%x\n",a,&a);
}

在这里插入图片描述

a类型为int[2]
&a 类型为int[2]*

猜你喜欢

转载自blog.csdn.net/weixin_41256413/article/details/88052287
今日推荐