笔记DAY-1

*(int *)a:首先a是一个指针,这句是先把a这个指针转换成int型指针,再取这个指针所指向的值。

int *a定义一个整型指针变量a。

int **a首先变量a和指针运算符*结合,表明这是一个指针,然后再和第二个*结合表明这个指针指向的是一个指针的地址。因此应将一个指针的地址赋给变量a才是正确的,比如
int b=1; int *p=&b; int **a=&p。

int *&a:分析:首先变量a与&运算符结合,表明变量a是一个引用,然后再与*指针运算符结合,表明这个引用引用的是一个指针,因此应将一个指针赋给变量a,比如
int b=1; int *p=&b; int *&a=p。

const void *a定义了一个指针a,a可以指向任意类型的值,但它指向的值必须是常量

 qsort() :void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))

//对数组进行排序,该函数不返回任何值。

①base -- 指向要排序的数组的第一个元素的指针。

②nitems -- 由 base 指向的数组中元素的个数。

③size -- 数组中每个元素的大小,以字节为单位。

int cmpfunc (const void * a, const void * b)

{   

return ( *(int*)a - *(int*)b );

}

int *a = (int*)malloc(sizeof(int)*n):表示定义一个int类型指针变量a,并申请n*sizeof(int)个字节(即4*n个字节)的存储空间。

int *a=(int *)malloc(sizeof(int)*n);  // 定义指针,并分配内存单元

*a = 4;  // 将值存入到指针a所指向的内存单元中

posted @ 2021-11-18 22:51  生姜ZYX  阅读(23)  评论(0)    收藏  举报