c语言指针总结

简介: c语言指针总结

c语言指针总结

指针与数组的使用

#include<stdio.h>

void main(){

   int i[4] = {0};

   int (*p)[4] ;//定义   指向包含四个元素的一维数组的   指针变量

   p = &i;

   printf("%d",*p[0]);

}



指向函数的指针

int (*p) (int ,int);



#include<stdio.h>

void main(){

int add(int,int);

int (*p) (int,int);//定义指向  形参为两个int变量 返回值为int的函数   的指针

p=add;

printf("%d",(*p)(3,5));

}


int add(int a,int b)

{

   return a+b;

}



返回指针的函数

int *add(int x,int y);//add 为函数名  调用后返回int * 类型的指针


#include<stdio.h>

void main(){

int *add(int,int);//定义返回指针的函数

printf("%d",*(add(3,5)));


}


int *add(int a,int b)

{

   int *p;

   int c = a+b;

   p = &c;

   return p;

}



指针数组

int *p[4];


#include<stdio.h>

void main(){

char *name[] = {"wwwwwwwww","lllllllllll","jjjjjjjjjjj"};//定义指针数组

char **p; //定义指向  指针  的指针变量

for(int i=0;i<3;i++){

   p = name+i;

   printf("%s \n",*p);

}

 

   

int **p; //定义指向指针变量的指针

void *p; //void 类型的指针

动态分配内存:

void  *malloc (unsigned int size) ; 分配大小为size的空间

   p = malloc(100);

   


void *calloc(unsigned n,unsigned int size)

p = calloc(50,4);

释放内存


void  free (void *p)

free(p)

重新分配内存


void  *realloc(void  *p ,unsigned int  size)

realloc(p,120);


目录
相关文章
|
10天前
|
存储 C语言
【C语言篇】深入理解指针3(附转移表源码)
【C语言篇】深入理解指针3(附转移表源码)
24 1
|
10天前
|
存储 程序员 编译器
【C语言】指针篇-简单快速了解指针-必读指南(1/5)
【C语言】指针篇-简单快速了解指针-必读指南(1/5)
|
1天前
|
存储 搜索推荐 C语言
深入C语言指针,使代码更加灵活(二)
深入C语言指针,使代码更加灵活(二)
|
1天前
|
存储 程序员 编译器
深入C语言指针,使代码更加灵活(一)
深入C语言指针,使代码更加灵活(一)
|
1天前
|
C语言
深入C语言指针,使代码更加灵活(三)
深入C语言指针,使代码更加灵活(三)
深入C语言指针,使代码更加灵活(三)
|
8天前
|
存储 C语言
深入浅出C语言指针(基础篇)
深入浅出C语言指针(基础篇)
|
10天前
|
算法 搜索推荐 C语言
【C语言篇】深入理解指针4(模拟实现qsort函数)
【C语言篇】深入理解指针4(模拟实现qsort函数)
17 2
|
10天前
|
C语言 C++
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
|
1天前
|
存储 C语言
C语言指针(1)
C语言指针(1)
6 0
|
3天前
|
C语言
无头链表二级指针方式实现(C语言描述)
本文介绍了如何在C语言中使用二级指针实现无头链表,并提供了创建节点、插入、删除、查找、销毁链表等操作的函数实现,以及一个示例程序来演示这些操作。
10 0