问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-05-10 21:53

我来回答

5个回答

热心网友 时间:2023-11-05 01:05

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的第二个元素,以此类推。

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

热心网友 时间:2023-11-05 01:05

int *a和int a [ ] 的区别,就等价于指针与数组的区别。
指针与数组的区别:
1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。
2、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是"可变",所以我们常用指针来操作动态内存。
3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。

热心网友 时间:2023-11-05 01:06

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)的方式表示元素。不是说只能写 不能写的问题。要活用 一个问题编程解决方法肯定不止一种。指针 再理解理解。

热心网友 时间:2023-11-05 01:07

int*a[5]是指针数组,int(*a)[5]是数组指针,前者表示一个数组,数组元素都是指向int型变量的指针,后者表示一个指针,该指针指向一个int型有5个元素的数组,希望对你有所帮助

热心网友 时间:2023-11-05 01:07

int a[N] 会分配一块存储N个int型数据的区域。
int *a; 则不会

void fun(int a[], int n) //函数传递数组参数时,要传递的是数组的地址,int a[]这不是地址
void fun(int *a, int n) //要这样写
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电容话筒如何连接 正压接头与肝素帽的区别 我在医院护士给用的留止针,打完点滴后滴管里回血了。这种情况血液在滴管... 流实针里有瘀血,第二天还可掉水吗? 我们国家是要求和平的,为什么电视上今年战争片特别多 抗战电影怎么假为什么还让播 电脑无法系统还原怎么办 因为跟别的女生打电话 所以给女朋友写的一份检讨书 抖音取关一个人她会知道么 备孕多久不能同房 c语言编程中 int pos;是什么意思? 华为honor Che2-UL00,可以换电池吗? 如何更换华为4X手机电池视频教程 华为4x可以换电池吗 血染了的衣服应该用什么冰水还是热水洗 苹果x为什么播西瓜视频 模糊看不清 苹果x看腾讯视频270p为什么很模糊? 用英文你的好朋友Sun Ling第一次去你老家做客,请把他介绍给你家的两位长辈写? 孙玲玲我爱你用英语翻译怎么翻? sunling8888丑女无敌,你现在在台湾,你明明是到台湾结婚,为什么要骗我是在你姐姐家待产? 孙云玲是谁?莫少聪模特女友孙云玲资料 用骏马秋风塞北写一句话 RISINGSUN怎么样 请问这是个什么牌子 樱花草的颜色是什么颜色?粉红色吗? 孙珊玲拼音怎么写? sunling@cnooc.com.cn是什么邮箱 数据电视开机出现sunling怎么开机 海岛上有很多贝壳这样造句可以吗? northern sun是什么品牌 C语言初学者关于int与简单程序的部分小问题 c语言程序设计 选择正确的定义语句A:int A[a] B:int A[3,4] 图中的C语言程序设计关于int的变量类型不明白? C语言程序设计中何时选用 long int?一般都用的int阿? c语言程序int和float C语言程序设计,设计函数”int StrToInt(char * strInt);”将整数字符串(长度小于10)转换成整数? 各位大佬好!用C语言编程分别计算int和short int 数据类型的取值范围 C语言编程,int f(int)是什么意思? c语言程序设计 int*p=malloc(sizeof(int)); *p=20;*p+=30 结 C语言程序设计(int float) C语言编程里i的定义只能用int??可不可以是double或float? 【急求】c语言程序输入一个整数(int),要求输出其二进制形式的值。 如何将不小心弄掉的荣耀20相机做出来 所有时态的主动语态 在携程上购机票有正式发票吗 英语的16种时态及构句方式是什么? 动词十六种时态和被动语态的十六种实态变形的异同 姜子牙广封诸神,为何偏偏少了妲己三姐妹? 纣王和申公豹都封神了,为什么唯独妲己没能封神? 封神榜里的妲己为什么没被封神?