C语言中下标与指针的转换以及指向指针的指针的例子

 更新时间:2015年11月19日 15:25:26   作者:kangear  
这篇文章主要介绍了C语言中下标与指针的转换以及指向指针的指针的示例,是C语言入门学习中的基础知识,需要的朋友可以参考下

下标到指针之间和转换
以下的程序做了什么。

#include <stdio.h> 
 
int main() 
{ 
  int a[3][3] = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}}; 
  int i = 0; 
  int j = 0; 
 
  for(i = 0; i<3; i++) 
  { 
    for(j=0; j<3; j++) 
    { 
      printf("%d\n", *(*(a+i)+j)); 
    } 
  } 
} 

打印了数组中的每个元素:

20151119152355456.png (478×339)

指向指针的指针

#include <stdio.h> 
 
int main() 
{ 
  int a = 1; 
  int* p = NULL; 
  int** pp = NULL; 
 
  pp = &p; 
 
  *pp = &a;// ==> p = &a; 
 
  printf("%d", **pp); 
 
  return 0; 
} 

使用实例:重置动态空间大小(类似于在函数中修改入参)

#include <stdio.h> 
 
int reset(char**p, int size, int new_size) 
{ 
  int ret = 1; 
  int i = 0; 
  int len = 0; 
  char* pt = NULL; 
  char* tmp = NULL; 
  char* pp = *p; 
 
  if( (p != NULL) && (new_size > 0)) 
  { 
    pt = (char*)malloc(new_size); 
 
    tmp = pt; 
 
    len = (size < new_size) ? size : new_size; 
 
    for( i=0; i<len; i++) 
    { 
      *tmp++ = *pp++; 
    } 
 
    free(*p); 
    *p = pt; 
  } 
 
  return ret; 
} 
 
int main() 
{ 
  char* p = (char*)malloc(5); 
  printf("%0X\n", p); 
 
  if( reset(&p, 5, 3) ) 
  { 
    printf("%0X\n", p); 
  } 
  return 0; 


20151119152439481.png (247×196)

相关文章

  • java如何用正则表达式匹配与提取字符串

    java如何用正则表达式匹配与提取字符串

    一位以前的同事在群里面突然发了个需求,要通过正则表达式来取值,下面这篇文章主要给大家介绍了关于java如何用正则表达式匹配与提取字符串的相关资料,需要的朋友可以参考下
    2022-06-06
  • Java三种方法将List转换为Map的实例

    Java三种方法将List转换为Map的实例

    今天小编就为大家分享一篇关于Java三种方法将List转换为Map的实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • Spring Boot与React集成的示例代码

    Spring Boot与React集成的示例代码

    这篇文章主要介绍了Spring Boot与React集成的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • java 实现汉诺塔详解及实现代码

    java 实现汉诺塔详解及实现代码

    这篇文章主要介绍了java 实现汉诺塔详解及实现代码的相关资料,需要的朋友可以参考下
    2017-04-04
  • Java 获取当前设备的 IP 地址(最新推荐)

    Java 获取当前设备的 IP 地址(最新推荐)

    Internet 协议 (IP) 地址可以是连接到 TCP/IP 网络的每个设备的标识符,该标识符用于识别和定位中间通信的节点,这篇文章主要介绍了在 Java 中获取当前设备的 IP 地址,需要的朋友可以参考下
    2023-06-06
  • Mybatis Plus 代码生成器的实现

    Mybatis Plus 代码生成器的实现

    这篇文章主要介绍了Mybatis Plus 代码生成器的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Java字节缓存流的构造方法之文件IO流

    Java字节缓存流的构造方法之文件IO流

    这篇文章主要介绍了Java字节缓存流的构造方法之文件IO流,同时也介绍了字符流中的一些相关的内容,并且通过大量的案例供大家理解。最后通过一些经典的案例帮助大家对前面所学的知识做了一个综合的应用,需要的朋友可以参考一下
    2022-04-04
  • SpringBoot集成Hadoop对HDFS的文件操作方法

    SpringBoot集成Hadoop对HDFS的文件操作方法

    这篇文章主要介绍了SpringBoot集成Hadoop对HDFS的文件操作方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • 浅谈java获取UUID与UUID的校验

    浅谈java获取UUID与UUID的校验

    这篇文章主要介绍了java获取UUID与UUID的校验,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • springBoot定时任务处理类的实现代码

    springBoot定时任务处理类的实现代码

    这篇文章主要介绍了springBoot定时任务处理类,需要的朋友可以参考下
    2018-06-06

最新评论