mallco: 分配;内存;分配内存;
mallco( ) 是一个函数,它表示为 括号内的参数 分配内存地址;
p_int = (int)malloc(LEN sizeof(int));
p_int = 为指针所指向的地址,(int) 表示函数类型为指针,mallco 为函数名称,
(LEN sizeof(int))表示mallco函数的参数,
LEN * sizeof(int) 表示函数的参数是:4个 int 地址相乘。
#include<stdio.h>
#include<stdlib.h>
int main() {
#define LEN (4)
int *p_int;
int a[] = { 0, 0, 0, 0 };
p_int = (int*)malloc(LEN * sizeof(int));//为指针 数组函数分配地址;
for (int i = 0; i < LEN; i++) {
p_int[i] = i;
*(p_int + i) = p_int[i] + 1;
}
for (int i = 0; i < LEN; i++) {
printf("p_int[%d] = %d\n", i, p_int[i]);
}
for (int i = 1; i < 5; i++) {
printf("p_int[%d] = %d\n", -i, p_int[-i]);
}
free(p_int);
return 0;
}
在C语言中,定义指针变量后,一定要给指针变量分配相应的地址,然后才能驱使指针去工作。(也就是之前理解的要找到一个中介,或者一个踏板;
分配地址有两种形式:
- 第一种形式:(单个变量)
int a = 1;
p_int = &a; (系统自动分配地址)
以上注意 a 与 p 应该是同类型(物以类聚)
- 第二种形式:(数组变量)
int a[] = {0, 0 , 0, 0};
p_int = (int *)mallco(sizeof(int)); (编译 系统分配地址)