在一个C语言程序中,`int a = 10;` 和 `int a; a = 10;` 有何区别? A. 两个语句没有区别 B. 第一个语句会分配内存,第二个不会 C. 第二个语句会分配内存,第一个不会 D. 两个语句都会分配内存,但第一个语句更优 相关知识点: 试题来源: ...
int (*a)[10] 和 int *a[10] 的区别 int *a[10] :指针数组。数组a里存放的是10个int型指针 int (*a)[10] :数组指针。a是指针,指向一个数组。此数组有10个int型元素 int *a[10] 先找到声明符a,然后向右看,有[]说明a是个数组,再向左看,是int *,说明数组中的每个元素是int *。所以这是一...
这两个 没有任何区别。 都是显示转换。而10,本身就是int,不用转换。等同于int a=10;不管是不是类 都一样。构造析构 不会因为强制转换而调用。
不一样一个是定义了一个存储10个整型变量的数组,但是没有初始化,第2个是只初始化了数组的第一个元素为0
int *a[10];//整形指针的数组。两者都是数组,前者存放的是整形,后者存放的是整形指针。既然有指针...
int *a[10];//整形指针的数组。两者都是数组,前者存放的是整形,后者存放的是整形指针。既然有指针...
前者只是定义,其值不可预料;后者是全部数组元素置零。
int *a[10]; 定义了一个指针数组,即10个int * 类型的指针 int (*a)[10]; 定义了一个指向行的指针变量,注意是”一个”指针变量,而上面的指针数组是”10个”指针变量。指向行的指针变量可以用来指向二位数组int x[N][10],a指向x即:a <==> x 或者 x[0] 或者 &x[0][0...
int (*a)[10]说明指针a是一个指向有10个int类型数组的指针, int(**a)[10]说明a是指向一个有10个int类型的数组的指针的指针, 可以看下下面的例子:include <stdio.h> void main(){ int b[2][3] = {{1, 2, 3}, {4, 5, 6}};int (*c)[3] = b;int(**a)[3];a = &...
1、如果只是int a[10]和int* a=new int[10]比较的话,前者可能还更简单一点。只是在使用上int* a=new int[10]需要判断内存是否分配成功,以及在不用时需要使用delete[] a进行内存释放;2、如果不是a[10],而是a[1000000000]或者更大的话,那一般情况下,就只能使用int* a=new这种方式了。这...