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