44问答网
所有问题
c语言中 定义一个指针 *p 开辟了100个空间然后用来做数组p[100]
这样可不可以的,不行的话怎么样才能不用链表来在一段空间内进行访问,怎么移动
我是说int *p ,a;已开辟的一段100的空间S 可不可以这样表示p[a]=p[a+1]
举报该问题
推荐答案 2012-10-31
int *p = (int *)malloc(100*sizeof(int));
OK.
那你得
p = 你的空间S的首地址。
然后你要控制你的a+1不要超出S的空间就可以了。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://44.wendadaohang.com/zd/VWGDWV6DV.html
其他回答
第1个回答 2012-10-31
可以,用的malloc(),或者calloc()函数,都可以,指针移动几个字节和你定义的指针类型有关,p[a]完全等价于*(p+a)
相似回答
C语言
: error C2106: '=' : left operand must be l-value
答:
error C2106: '=' : left operand must be l-value的意思是做操作数的值必须为长整型整数。
*p[100]
是设一个
指针
,指向的是可以存放
100个
数的数组,p[i]就是指向第i个可以存放100个数的数组,不是指向长整型整数。定义的时候直接定义为p[100]就行了 ...
C语言中
new的用法
答:
1)new int; //
开辟一个
存放整数的存储空间,返回一个指向该存储
空间的
地址。int *a = new int 即为将一个int类型的地址赋值给整型指针a 2)int *a = new int(5) 作用同上,但是同时将整数空间赋值为5 2.
开辟数组空间
对于数组进行动态分配的格式为:指针变量名=new 类型名[下标表达式];delete...
C语言中
,
定义一个指针
的时候为这个指针
开辟
存储
空间
吗?
答:
Int*p:第一级指针,表示p点所在地址是
一个100
Int类型的值,p被声明为一个指向整数
的指针
,并且为这个指针分配了存储空间。但在这种情况下,它是一个随机数,我们称之为指向一个不确定的内存地址。当用户说“direct*p=5”时,在一个不可预知的内存地址上写入一个整数5。这是不允许的,并可能导...
C语言中
free函数的用法
答:
free 不管指针指向多大
的空间
,均可以正确地进行释放,这一点释放比 delete/delete [] 要方便。如在分配指针时,用的是new或new[]。在释放内存时,并不能图方便而使用free来释放。反过来,用malloc 分配的内存,也不能用delete/delete[]来释放。举例:int* p = (int *) malloc(4);p =
100
;fr...
大家正在搜
c语言中指针的定义
c语言数组定义
c语言数组定义和赋值
c语言指针的用法
c语言指针的作用
c语言定义函数
结构体数组定义和使用
指针数组的使用
c语言什么是指针
相关问题
c语言中定义数组a与指针*P,则p=a+c-1与*p=&a[...
C语言中,怎么使用malloc函数为数组指针分配空间 比如要...
C语言,怎么用malloc申请一个100000个变量的字符串...
C语言中,定义一个指针的时候为这个指针开辟存储空间吗?
c语言中如何定义动态指针数组
c语言指针问题,为什么*p 不对 而*(p)[100]对
C语言中,数组和指针定义在内存方面的区别在哪?
(*p)[2] 与 *p[2]有什么区别 C语言