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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaowang_lj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值