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);


目录
相关文章
|
4天前
|
安全 C语言
【C语言】如何规避野指针
【C语言】如何规避野指针
22 0
|
4天前
|
C语言
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
|
2天前
|
存储 安全 编译器
C语言详解指针(指针海洋的探索,将传值与传址刻在心里)
C语言详解指针(指针海洋的探索,将传值与传址刻在心里)
6 0
|
4天前
|
C语言
C语言(指针详解)重点笔记:指针易错点,都是精华
C语言(指针详解)重点笔记:指针易错点,都是精华
6 0
|
4天前
|
存储 C语言
C语言指针讲解(适用于初学者)
C语言指针讲解(适用于初学者)
6 0
|
4天前
|
存储 程序员 C语言
【C 言专栏】C 语言指针的深度解析
【4月更文挑战第30天】C 语言中的指针是程序设计的关键,它如同一把钥匙,提供直接内存操作的途径。指针是存储其他变量地址的变量,通过声明如`int *ptr`来使用。它们在动态内存分配、函数参数传递及数组操作中发挥重要作用。然而,误用指针可能导致错误,如空指针引用和内存泄漏。理解指针的运算、与数组和函数的关系,以及在结构体中的应用,是成为熟练 C 语言程序员的必经之路。虽然挑战重重,但掌握指针将增强编程效率和灵活性。不断实践和学习,我们将驾驭指针,探索更广阔的编程世界。
|
4天前
|
算法 搜索推荐 程序员
C语言中的函数指针和回调函数
C语言中的函数指针和回调函数
12 2
|
4天前
|
存储 编译器 C语言
【C语言】初步解决指针疑惑
【C语言】初步解决指针疑惑
8 0
|
4天前
|
存储 C语言
指针深入解析(C语言基础)带你走进指针,了解指针
指针深入解析(C语言基础)带你走进指针,了解指针
|
4天前
|
C语言 C++
C语言:指针运算笔试题解析(包括令人费解的指针题目)
C语言:指针运算笔试题解析(包括令人费解的指针题目)