C语言中int **a[10]与int *(*a)[10]的区别是什么

我在使用 int *a[10]时 想用 int **a[10]接收*a[10]的&失败 但是用int *(*a)[10]却可以 请问这两种声明有什么区别

第1个回答  2013-10-20
你干嘛要这么复杂的啊,真搞不懂你啊。其实*a=b所以*(*a)[10]=*b[10]*a[10]其实就是地址,你把地址的地址赋值给一个整型,编译器肯定会会说赋值错误

C语言中 指针int *a=10;和int *a; *a=10;的区别
int p=10;\/\/ 相当于int p;p=10;相当于把0x00001010(二进制的“10”)这个地址直接赋值给指针p。而int p;p=10;则是正确的写法,这里p的值由系统分配,比如是0x22334455,这个地址对应的内存单元存放的值是10。

c语言里 *a[10] 和(*a)[10] 到底有啥区别,它们分别有什么用法,那位大神...
a[10]是指针数组,它由10个指向某种类型数据的指针元素组成 (*a)[10]是指针变量,它指向含10个元素的一维数组的指针变量。

c语言的指针问题,我想知道 int (*a)[10]和int **a到底有什么区别
前者是指针数组,可以存放十个地址,后者就只是一个二重指针

C++中int a[10]和int a=new int[10]]有什么区别
1、如果只是int a[10]和int* a=new int[10]比较的话,前者可能还更简单一点。只是在使用上int* a=new int[10]需要判断内存是否分配成功,以及在不用时需要使用delete[] a进行内存释放;2、如果不是a[10],而是a[1000000000]或者更大的话,那一般情况下,就只能使用int* a=new这种方式了。这...

【c语言】char(*a)[10] char*a[10] int(*a)[10] int*
int *a[10] :数组指针。数组a里存放的是10个int型指针 int (*a)[10] :a是指针,指向一个数组。此数组有10个int型元素 char 是指字符,同理

C语言问题:int a = 10;与int a(10);两种赋值方式有什么不同?
c语言根本不允许int a(100);c++是因为后来加的类允许 t a(b);这样初始化才允许基本类型如 int 也可以用这种写法,后来发现这种初始化语法让c++的语法分析难度又上了一个台阶,所以现在也不怎么建议使用这种写法

C语言数组a{10}这个{10}是什么意思啊??
你的题目中,如果前面有定义,例如int a[10]或者char a[10],则a[10]代表了一个数组,如果单单只有a[10]则指一个实量,如定义:int a[11],则a[10]代表所定义的数组中第11个数字,因为数组时从0开始(a[0])。 也可以这样解释,a{10}表示给一个已经定义长度数组a[0]赋值10 ...

c语言int a[10] 10是什么意思
inta表示a这个变量是整型,只能存放整数。inta【10】【10】指的是代表a的二维数组,是指向一个有十个元素的数组的指针,或者说a是具有十个元素的数组的首元素的地址,这十个元素,每个元素都是一个数组。

(int *)A与int *A在C语言中的区别?哪位能告诉我?
(int *)A 是把A强制转化为int型指针,A应该已经定义了。一般是右操作数。int * A 是定义整型指针变量。

用C语言编程,定义一个字符串,char a[10]和 a[ ]区别在哪儿呢,a[ ]是...
不是的 char a[10] 分配10个元素的空间,char a[] 和 char *a 是一样的,不分配空间。

相似回答