0 往期链接
Chenglin Li:C语言学习(一)全部知识点
Chenglin Li:C语言学习(二)指针函数分配内存
1 指针
指针式C语言中的一个重要概念,也是C语言的一个重要特色。
- 指针可以有效的表达复杂的数据结构、动态分配内存、有效的利用内存空间。
- 能方便的表示数组和字符串,提高数据处理效率。
- 指针作为函数参数,能使函数调用得到多余1个的值。
2 指针开辟内存
/*
float *DropLowestMark= (float *)malloc(10*sizeof(float)); //可以在子函数之间传递数据
free(DropLowestMark);//释放内存
*/
#include<mex.h> //matlab C语言头文件
// void swap(int *A, int *B);
int *calc(int a);//子函数声明
//Matlab内部主函数
//标准的主函数形参表头
// void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
void mexFunction() //主函数进入接口
{
int *m=NULL;
m=calc(10);
printf("m=%5dn",*m);
}
int * calc(int a)
{
int *p=(int *)malloc(sizeof(int));
// int a=10;
*p=3*a;
return p;
}
3 指针和变量
(1)指向变量地址
/*
int a=10; //定义整型变量
int *p=&a; //定义整型指针变量,指向整型变量的地址
*/
void mexFunction()
{
int x=10;
int *p=NULL;
p=&x;
printf("x=%5dn",x);
printf("p=%5dn",p);
printf("*p=%5dn",*p);
}
(2)交换两个变量数据
void swap(int *A, int *B)
{
int temp;
temp=*A;
*A=*B;
*B=temp;
}
4 指针和一维数组
/*
int a[10];
int *p=a;
*/
#include<mex.