程序如下:
int array[2][5]={{1,3,6,7},{2,4,16,8}};
int *b=(int*)array;
cout<<b[4]<<endl;
烦请再解释一下:(int*)什么意思
追答(int*)就是整型指针啊。。。
追问前面已经定义了int array[][];
接下来(int*)array作何解,为什么不直接int*b=array?
加括号怎么解释?
因为array是个int型的二维数组,这个array可以表示为整个数组的首地址,即int*,也可以表示为二维数组的第一维数组的首地址,即int**
直接int* b =array是可以的,但是加一个(int*)表示强转,更保险
int *b(int*)是什么意思
函数名为b,函数参数为int类型指针,返回值为int类型指针
int b[ ]={0}与int b[4]={ }到底那个是正确的初始化,c语言
两个都是对的,我上机试过的
c语言里面int* a,int* b是什么意思?
当int* a和int* b后面都有分号时,int* a;是声明或说明指向int型变量的指针a,int* b;是声明或说明指向int型变量的指针b。题面中二者后面都没有分号,应该说都是错误语句。行话这样表述:int* a;是声明int*型指针a,int* b;是声明int*型指针b。当然要明白,指针的类型是指它指向的目标的...
int(b)==(int)&b[0][0] b是行指针,这个是什么意思
楼上回答什么啊,注意是==不是=,什么还送到,无语了。如果b是一个二维数组名,那么b就是第一行,b[1]就是第二行……等等,b[0][0]就是第一行的第一个元素,b[0][1]就是第一行第二个元素……等等。
C语言:int (*)[]是什么意思
int (*b)[2];这是定义了一个数组指针,本质上讲,定义了b,b是一个指针变量,该指针变量指向一个数组,数组有两个int的元素 int *b[2];这是定义了一个指针数组,本质上讲,定义了b,b是一个数组,数组有两个元素,两个元素都是指向int型数据的指针 像这种问题,先根据运算符优先级\/结合性的原则,...
c++中(int*)(&b)怎么理解 b是一个类的实例
即如果b是类B的实体,那么&b就是B*型的指针。2 (int *)这个操作是强制转换,即把后面跟着的指针(地址)值,转换成int *型,也就是整型指针。对该指针进行取值,加减等操作时,都是按照整型来做的。所以(int*)(&b)的含义就是取变量b的地址,并转为整型指针类型。
c语言中(int*)是什么意思
int*代表的是int型的指针。声明的变量就叫指针变量。存放地址的变量称为指针变量。指针变量是一种特殊的变量,不同于一般的变量,变量存放的是数据本身,而指针变量存放的是数据的地址。举例:int* a = 68 ,系统为变量a分配的首地址为0X065FDF4H,声明空指针long *p = NULL,p=&a是存放变量a地址...
为什么c语言中int*b[]={1,2,3,4,5};这样赋值不对
[]的优先级比*高,所以b是个数组,让后再与*结合,说明数组里的元素是指针类型,所以b是一个由返回类型是int型的指针所组成的数组。而你的赋值语句里 1,2,3,4,5都是int型,而非指针型,所以无法赋值。指针可以赋值为零.所以 int*b[]={0};是正确的。
int *p;p=(int *)1000; 为什么加括号? 好像是为了 强制取整 , 但是...
p=(int*)1000; 这个是把1000当作一个整数的地址赋给p ,(就是把数值1000强制转换为一个地址值)
int *p=(int *)&a;是什么意思啊?
a加了const表示常量,告诉编译器这不能修改值,而如果进行int *p = &a;这就可能通过p修改a的值,C++编译器会阻止你这么做,编译报错。加了(int*)&a编译器就不管你了,它的检查工作是完成了但留下了隐患。运行这个代码你会发现输出结果是7,这是因为编译器看到const int a = 7;翻译cout << a...