C语言多级指针的使用

话不多说,直接代码,以下是多级指针,通过指针变量修改变量的值

#include <stdio.h>

#include <stdlib.h>

void secondPoint(int **a, float ***f, double ****d, char *****c){

**a = 100;

***f = 9.2f;

****d = 3.14;

*****c = ‘g‘;

}

int main(){

int a0 = 10;

int *a = &a0;

float f0 = 0.1f;

float *f1 = &f0;

float **f2 = &f1;

double d0;

double *d1 = &d0;

double **d2 = &d1;

double ***d3 = &d2;

char c0;

char *c1 = &c0;

char **c2 = &c1;

char ***c3 = &c2;

char ****c4 = &c3;

secondPoint(&a,&f2,&d3,&c4);

printf("a=%d,f=%.1f,d=%.2lf,c=%c\n",a0,f0,d0,c0);

system("pause");

return 0;

}

一定要注意:指针变量是用来存储变量的指针,不能存值,以下例如:

int *p = 10;

这种写法在C语言中是不合法的,因为指针变量p是存变量的指针,不能存储常量值

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-10 01:05:29

C语言多级指针的使用的相关文章

C语言多级指针

指针就是地址,指针变量是保存指针(地址)的变量,整形变量就是保存整形的变量,我的理解就是保存地址的变量叫指针,地址就叫地址: 1 int a = 0; 2 3 int *p = &a; 4 5 printf("%d\n",*p); 6 printf("%p\n",p); 7 printf("%p\n",&p); 1 //打印结果 2 0 3 0x7fff5fbff84c 4 0x7fff5fbff840 5 0x7fff5fbff

C语言优化实例:消除多级指针的间接访问

如果一个多层次的数据结构达到两级或者两级以上,举例如下: struct A{ int array_member[100]; //其他数据成员 }; struct B{ struct A *a_ptr; //其他数据成员 } 那么通过B类型的指针b_ptr访问A类型的array_member的某一个元素array_member[0]则需要使用b_ptr->a_ptr->array_member[0]这种多级指针的形式.如果一个函数中多次用到这个变量的话,可以采用一个临时变量保存这个多级指针:in

C语言中多级指针的重点分析

一.指针简介        指针是C语言的灵魂,C语言之所以强大,很大一部分原因在于对指针的灵活运用.我们无论需要对内存的精准分配和释放,还是对接口api的使用,乃至面向对象中的类和对象的封装,都涉及到了指针.C语言的指针大致可以分为两种,一种是作为一个变量,其保存的是一段内存地址,也就是本文要谈的多级指针:另一种是作为一种数据类型,像函数指针,用于引出一种类型,主要用于回调函数. 二.指针与基础数据类型 从内存的角度看,数据类型就是一段固定大小内存块的别名. int a=0; int在32/6

C语言 详解多级指针与指针类型的关系

//通常意义上,指针类型指的是‘指针值’的类型,而不是‘指针’的类型 //V推论①:变量的步长只与变量的类型有关 //普通变量名是一段内存空间的标识,普通变量名代表的是一段内存空间, //对于复杂变量(例如指针):通常的指针的步长准确来说是指‘指针值’的步长,而不是指‘指针本身’的步长,指针本身的步长永远是4, //我们通常说的指针类型往往指的是‘指针值’的类型,,而不是‘指针’的类型 //而指针类型就是一个占4个字节大小内存空间的一种类型(从来没有人定义过指针类型,人们定义的都是‘指针值’的类

C语言数组篇(五)多级指针和二维数组指针的区别

多级指针 以二级指针为例 二级指针的由来是 指针数组 的指针形式. int *p[10] 读取的顺序是 p[10] --> 10个空间的数组 * p[10] --> 这10个空间的数组里面存放的数据都是 指针型的数据 int *p[10] --> 数组里面每个指针指向的空间存放的是int型的数据 int *p[10] --> int **p; p: 指针数组的数组名,也是数组的首地址. *p 数组里面存放的指针 **p 数组里面存放的指针 指向的空间 的内容 二维数组指针: 二维数

真正明白c语言二级指针

指针是C语言的灵魂,我想对于一级指针大家应该都很熟悉,也经常用到:比如说对于字符串的处理,函数参数的"值,结果传递"等,对于二级指针或者多级指针,我想理解起来也是比较容易的,比如二级指针就是指向指针的指针.....n级指针就是.... p *p **p                                      --- --- ----                                      | |->| |->| |            

C语言07指针高级

01内存四区 接口封装和设计思想引导 接口封装设计思想引导 Sckclient客户端api模型设计 第一套api函数 #ifndef _SCK_CLINT_H_ #define _SCK_CLINT_H_ //函数声明 // 1.client环境初始化 int sckClient_init(void **handle); //5 day // // 2.client发送报文 int sckClient_send(void *handle, unsigned char *data, int dat

C语言二级指针的介绍和使用

锄禾日当午,学C真TM苦. 指针是C语言中功能最强大的部分,但是也是最难理解的部分. 本文主要介绍二级指针的使用,包括与数组和函数结合的使用,一级指针简单带过. 一.一级指针 一级指针的简单描述 ①一级指针是一种以存储其他变量地址为目的的变量.一个T类型的指针变量(一级指针)就是一个存储了某T类型值变量的内存地址的引用. ②对指针的解引用(也就是*),是获取指针指向的内存空间中存储的值. ③当指针解引用做左值的时候,可以改变指针指向内存空间中存储的值. ④指针指向哪个变量,就将该变量的内存地址赋

C语言中指针和数组

C语言数组与指针的那些事儿 在C语言中,要说到哪一部分最难搞,首当其冲就是指针,指针永远是个让人又爱又恨的东西,用好了可以事半功倍,用不好,就会有改不完的bug和通不完的宵.但是程序员一般都有一种迷之自信,总认为自己是天选之人,明知山有虎,偏向虎山行,直到最后用C的人都要被指针虐一遍. 指针 首先,明确一个概念,指针是什么,一旦提到这个老生常谈且富有争议性的话题,那真是1000个人有1000种看法. 在国内的很多教材中,给出的定义一般就是"指针就是地址",从初步理解指针的角度来说,这种