calloc分配后储存,怎么样用普通变量读取

C语言 码拜 8年前 (2016-05-02) 886次浏览
讨教,calloc分配内存后,把数字用(*指针)储存到内存里,然后用(*指针)读取这个数字。可是怎么样用普通变量读取这个内存位置的内容?莫非为了读取calloc分配的内存里储存的第1、2、3组数字,只能用*p1 *(p1+1) *(p1+2)。

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
	int *p1=0;
	int x=0;
	p1=calloc(10, sizeof(int));
	*p1=1;
	*(p1+1)=2;
	return 0;
}
解决方案

10

C更是只有指针可以和动态分配的内存相联系

10

引用:
Quote: 引用:

C更是只有指针可以和动态分配的内存相联系

可否总结为一句话,malloc calloc realloc分配的内存,只能由指针变量读取,不能用普通变量读取。
这句话没错吧?

不叫读取,叫记录。指针可以表示地址。
用指针记录一下地址,下次就可以找到他了
可以读,也可以写。
有名字的对象,可以用名字加以区分,也可以用地址加以区分。
没有名字的对象,只好用地址加以区分,
因此,用指针储存,它的地址,就可以随时使用它了。
指针本来就属于普通变量。
不过不是 整型,浮点型这一类表示数学量的类型。
–bool,也是一种数学类型,c最初没有独立的bool,C++ 有,C99标准也有了–
也不是记录 自然语言的字符,字符串类型–C中,字符属于整型–
而是表示计算机本身 的内存地址的类型。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明calloc分配后储存,怎么样用普通变量读取
喜欢 (0)
[1034331897@qq.com]
分享 (0)