问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

c语言编程 int *a和int a [ ]有区别吗?82

提问网友 发布时间:2023-10-28 07:29
帮忙翻一下这句话,急!
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
5个回答
热心网友 回答时间:2024-05-16 16:46

int *a是定义一个整型指针变量a。

int a [ ]没有这种写法。

int *a[]

1、定义a是一个数组。

2、每一个数组的元素是一个指针,指向一个整数。

(int *)a 将指针变量a强制转换为整型指针,说明a一般不是一个整型指针,也可以是个整型指针。

int (*a)[]

1、定义a是一种指针。

2、a指向一种整数数组。

扩展资料

数组的创建:在创建数组时,我们必须定义数组的类型和大小,数组的大小不能为0,数组中的元素类型都是相同的。 

int arr[10];//[]内必须是常量/常量表达式(3+8),不能是一个变量(x...)

数组的初始化:在数组创建时,我们也要必须为数组初始化。 

int arr1[3] = {1, 2, 3};

int arr2[] = {1, 2, 3};//在这里,我们arr[3]里边的数字可以不用写;

int arr3[3] = {1, 2};//也是可以的,只是把最后一个数初始化为0了而已

int arr4[3] = {1, 2, 3, 4};//是不可以的,不能超过数组长度  

char arr5[3] = {'a', 98, 'c'};//因为是字符类型,所以98其实就是字符'b'

char arr6[] = "abcdef";

特点

1、数组是相同数据类型的元素的集合。

2、数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。

3、数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。

参考资料来源:百度百科—数组

热心网友 回答时间:2024-05-16 16:47
int *a和int a [ ] 的区别,就等价于指针与数组的区别。
指针与数组的区别:
1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。
2、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是"可变",所以我们常用指针来操作动态内存。
3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
热心网友 回答时间:2024-05-16 16:47
int a[] 这样的定义是不符合语法的吧。除非 后面这样写int a[]={1,2,3,4,5};
int *a;则是 指定义一个int 类型的指针 用来指向一个用来存放int型数据的地址。
数组名 所表示的意思是 该数组起始地址。不是有没有区别的问题。它们根本是在不同的情况下使用的。你可以用数组名表示数组第N个元素 *(a+(N-1)) 你也可以定义 一个指针指向 第N个元素
int *p=&a[N-1];
=======================================
你所给的例子中使用是合法的 形参表示类型。int a[]表示一个整型数组。追问我所列的题目是不是可以int *a和int a[ ]都算正确写法?
还是只能写int a[ ]

追答void fun(int a[], int n)
这里的int a[]表示 一个数组类型的参数。
void fun(int *a, int n)
而 int *a则表示 一个指针类型的参数。
你若是非得这么写 那么函数内部则应 使用*(a+N-1)的方式表示元素。不是说只能写 不能写的问题。要活用 一个问题编程解决方法肯定不止一种。指针 再理解理解。

热心网友 回答时间:2024-05-16 16:48
int*a[5]是指针数组,int(*a)[5]是数组指针,前者表示一个数组,数组元素都是指向int型变量的指针,后者表示一个指针,该指针指向一个int型有5个元素的数组,希望对你有所帮助
热心网友 回答时间:2024-05-16 16:49
int a[N] 会分配一块存储N个int型数据的区域。
int *a; 则不会

void fun(int a[], int n) //函数传递数组参数时,要传递的是数组的地址,int a[]这不是地址
void fun(int *a, int n) //要这样写

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

对两个数组a和b进行如下初始化: char a[] = “A...209 将一个二维数组行和列的元素交换这个代码中, b[j][i]=...5 快手上 放着音乐 自己唱着歌 录着 怎么弄得1392 和女朋友写信写啥谢谢了,大神帮忙啊 怎么一年内修改两次? 描写泉水的词语585 王者荣耀适合多大的屏幕,并不是越大越好324 iphone7适合玩王者荣耀吗11 求助,iPhoneX玩王者荣耀怎么还是很小的屏幕212 当遇到一件事情气得受不了想打人怎么办?7 怎样可以让两部设备手机同时登录一个 描写冬天的片段221 怎么才能够重新对爱情有信心啊谢谢了,大神帮忙啊 电兔子机器都采用什么电子原件3 初二被动语态的几道题目2 ps4 如何把图片背景变成透明色,用快速选择工具选定,接DE...1 女娲补天的神话故事中天是谁弄破的?他为什么要撞破天70 c语言 数组a[n], 实现 a[n]到a[2]赋值给a[n...1 中国近代史上的耻辱212 中国近代史上的耻辱90 体感游戏对体育运动数据是否准确? 怎样用ps4把背景图层变色3 成立工作室需要什么条件3 微信帐号与有什么区别?27 八年级的被动语态题目,好难啊,求答案或者解析17 初二被动语态选择题 初中英语被动语态几题 请看一下我写的,都对吗? 不对 请改正...1 33年工龄2021年退休工资是多少9 山东企业女职工33年工龄2020年退休养老金领多少4 微信公众号和有区别吗30 金蝶怎么反过账202 一个手机号注册两个微信后怎么登录第一个 小米3手机山寨机可不可以用? 怎么一年内修改两次? 一年内怎么改第二次 网贷的利息太高了,没有能力偿还了会有什么后果 一个手机号绑定两个怎么找回另一个? 女朋友要我送她金手镯没给她买过后一直找茬是怎么回事? 白加黑 为什么白片比黑片多10 初二英语被动语态1
Top