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)); (编译 系统分配地址)
