int a;我知道是表示shell 变量 花括号可int a();是函数吧,可括号内要不要写什么?

c语言编程 int *a和int a [ ]有区别吗?_百度知道
c语言编程 int *a和int a [ ]有区别吗?
int *a和int a [ ] 的区别,就等价于指针与数组的区别。指针与数组的区别:1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。2、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是&可变&,所以我们常用指针来操作动态内存。3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
其他类似问题
为您推荐:
提问者采纳
=======================================你所给的例子中使用是合法的 形参表示类型;int *a。不是有没有区别的问题;则是 指定义一个int 类型的指针 用来指向一个用来存放int型数据的地址,2,3。数组名 所表示的意思是 该数组起始地址。你可以用数组名表示数组第N个元素
*(a+(N-1))
你也可以定义 一个指针指向 第N个元素int *p=&a[N-1],4,5}int a[] 这样的定义是不符合语法的吧。除非 后面这样写int a[]={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)的方式表示元素。不是说只能写 不能写的问题。要活用 一个问题编程解决方法肯定不止一种。指针 再理解理解。
提问者评价
谢谢C语言,唉~我是菜鸟
其他5条回答
数组名就是指向数组首元素的指针,int a[100]一样;那么 a 就是 指向 a[0] 的指针。比如说吧
会分配一块存储N个int型数据的区域。int *a; 则不会 void fun(int a[], int n)
//函数传递数组参数时,要传递的是数组的地址,int a[]这不是地址void fun(int *a, int n)
//要这样写
int a [ ]是一个放int型数据用的数组int *a是一个int类型的指针
在C语言里,int a[]这种写法是错误的。中括号内必须有正整数值,表示数组中有多少个元素。int *a,是定义了一个指针变量叫a,这个a指向的内存单元中存放的是一个整数。int a[10],是定义了一个数组变量a,该变量占据10个整数的存储空间,存放了10个整数。
若你只写int *a,只是定义了一个指针还没有为数组分配空间,后面还要new空间而int a[]应该已经分配空间了
您可能关注的推广
c语言编程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁c语言判断题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
c语言判断题
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
你可能喜欢c语言中函数A调用函数B,B又可以调用A?_百度知道
c语言中函数A调用函数B,B又可以调用A?
提问者采纳
刚刚你问了递归,a调用b,b用调用a也是递归可以
提问者评价
非常感谢。简明
其他类似问题
为您推荐:
c语言的相关知识
其他4条回答
好像有一种回调函数
当然可以, 一直下去就溢出了。。 程序挂掉。
可以的,不仅这样可以,直接A调用A也可以,而且这种用法还是挺多的,典型的例子是阶乘运算unsigned long factorial(unsigned long x){
if (x & 1)
return x * factorial(x-1);
return 1;}
函数的调用
8.4.1 函数调用的一般形式
前面已经说过,在程序中是通过对函数的调用来执行函数体的,其过程与其它语言的子程序调用相似。
C语言中,函数调用的一般形式为:
函数名(实际参数表)
对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数,变量或其它构造类型数据及表达式。各实参之间用逗号分隔。
8.4.2 函数调用的方式
在C语言中,可以用以下几种方式调用函数:
1. 函数表达式:函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z。
2. 函数语句:函数调用的一般形式加上分号即构成函数语句。例如:
printf (&%d&,a);scanf (&%d&,&b);都是以函数语句的方式调...
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁point类中函数point (int a=0,int b=0) {x=a;y=b;} 是_百度知道
point类中函数point (int a=0,int b=0) {x=a;y=b;} 是
和point (int a、 point p1(1、point (int a、为什么会和函数point(){x=0,int b=0) {x=a,int b) 就不是了吧;}产生二义性?
3?会替换原来的0么,1)又是怎么回事呢;y=bpoint类中函数point (int a=0?
4。、point (int a=0,p1的参数省略了。、它的意思是不是后面定义point p1;}
是缺省参数构造函数 1,int b=0) 是不是都是缺省参数构造函数,求指导?
问题有点多。谢谢;y=0?
提问者采纳
》3。如果没有指定参数,p1的参数省略了,1)又是怎么回事呢,必须保证此参数后面的参数都有默认参数,5)?
,int b) 就不是了吧:)》5?会替换原来的0么?你指定了参数》1;表示;时。你见过point p1(,int b)
和point (int a? 一个是有参数,如果不写对应的参数、point (int a=0;}产生二义性:point p1就是point p1(0。C++认为是两个函数,就把0作为默认参数。第一个不是,就采用你的参数。设置缺省参数,一个是无参数。例如? 第二个是?没有默认参数,0)》2、 point p1(1、为什么会和函数point(){x=0? 写了int a=0、它的意思是不是后面定义point p1,创建point类的时候, int b=0,就采用函数声明时的默认参数(你这里是0)》
4,int b=0) 是不是都是缺省参数构造函数;y=0、point (这样的写法吗
提问者评价
太给力了,你的回答完美解决了我的问题!
来自团队:
其他类似问题
为您推荐:
point的相关知识
其他1条回答
看不明白、、
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 c 局域变量要不要清空 的文章

 

随机推荐