77问答网
所有问题
当前搜索:
没有数组要进行指针转型
C语言中“二维
数组
行
指针
”是什么意思
答:
从内存的角度看,可以这样说,二维
数组
其实就是一个一维数组,在内存中
没有
二维的概念。如果把二维数组的每一行看成一个整体,即看成一个数组中的一个元素,那么整个二维数组就是一个一维数组,它以每一行作为它的元素,这个应该很好理解。第一,来详细介绍二维数组与
指针
的关系。- 首先定义个二维数组 ...
...直接给它赋值是错的吗?那如果一个
指针数组
,
没有
初始化可以直_百度...
答:
一个
指针没有
初始化,而且也没有被赋值(注意,赋值是指p=a,p是个指针,a是个变量)时,是不能取值的(*p),因为此时指针没有指向任何内存。一个
指针数组
,在定义时就给他分配了内存,当然可以直接给指针赋值了,但是取值(*p[5]),仍然是不行的。。。总而言之,指针只有指向了实际的内存才能被取...
c
指针
问题:为什么修改
数组
中的值,输出是还是
没有
变?
答:
注意看:p = &(bor[ROW][COL]);
数组没有
这个元素,这个元素已经越界了,没崩溃是因为你编译的是debug版本吧。注意C/C++中的数组索引是从0开始!!!你是修改最后一行,最后一列的元素,应该这样给
指针
p赋值 p = &(bor[ROW - 1][COL - 1]);
C
数组
问题
答:
数组
元素个数不能使变量,因此,开始的时候只能定义一个较大的数组来解决。以后学了
指针
以后可以利用动态数组来实现,利用指针直接对内存
进行
操作。好像是这样:1.定义一个指针(以整型一维数组为例)int *p;2.输入数字个数 scanf("%d",&n);3.为指针分配内存 p=(int *)malloc(n*sizeof(int));...
C语言问题 假设已经有一个排序好的
数组
,要求输入一个数,判断。。。
指针
...
答:
include <stdio.h> int *isIn
Array
(int *arr, int length, int n) { int flag = 0;for (int i = 0; i < length; i++) { if (*(arr + i) == n) { for (int n = 0; n < length - i - 1; n++) { (arr + i + n) = *(arr + i + n + 1);} flag = 1...
为什么这里的函数定义,char函数要用
指针
?之后在运算时又不用了_百度...
答:
p[0]等价于*p,p[1]等价于*(p+1),p[n]等价于*(p+n)你的程序是传递
数组
的地址值给函数,然后函数把地址存在新声明的
指针
变量(s,t,p)当中,再通过这些指针变量访问原来数组,所以这些指针并不是
没有
用上,而是你没看出来,事实上test(s,strlen(s),t[i]);就使用了新声明的指针s和t ...
java的各种异常
答:
对
数组
操作中出现空
指针
, 即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配
需要
的空间,而初始化后的数组,其中的元素并
没有
实例化, 依然是空的,所以还需要对每个元素都
进行
初始化(如果要调用的话)。2、 java.lang.ClassNotFoundException指定的类不存在这里主要考虑一下类的名称和路径是否...
int *ptrl=(int*)(&a+1); int *ptr=(int*)((int)a+1);这两个定义有什么...
答:
int *ptrl=(int*)(&a+1),第一个变量,将a的地址往后偏移一个单位。注意,这里的一个单位是sizeof(a的数据类型),然后再将这个地址转化为int 类型的
指针
地址。int *ptr=(int*)((int)a+1),简单起见可以假设a原来的数据类型是double,这里先将a下
转型
成int类型,假设转换之后(int )a=99...
如何获得
指针
指向的未初始化
数组
大小
答:
仅通过
指针
是无法获取它指向的
数组
的大小的。楼主,不要徒劳了
使用了未初始化的局部变量?为什么?一定要用
指针
要如何改?
答:
int (*b)[3];表示b是一个指向
数组
的
指针
,使用指针之前,
需要
对其
进行
赋值,即让这个指针变量存放一个地址,比如:int c[3];b=c;要实现你说的功能,只需让指针p指向要赋值的数(即p中存放源地址),然后使用*p访问该数。代码如下:int b[3][3];int *p;for (i=0;i<3;i++){ for (n...
棣栭〉
<涓婁竴椤
3
4
5
6
8
7
9
10
11
12
涓嬩竴椤
灏鹃〉
其他人还搜