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)

相关文章

  • 详解SpringBoot中@ConditionalOnClass注解的使用

    详解SpringBoot中@ConditionalOnClass注解的使用

    这篇文章主要和大家详细介绍一下springboot中@ConditionalOnClass注解的用法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-08-08
  • 升级dubbo2.7.4.1版本平滑迁移到注册中心nacos

    升级dubbo2.7.4.1版本平滑迁移到注册中心nacos

    这篇文章主要为大家介绍了2.7.4.1的dubbo平滑迁移到注册中心nacos的两种版本升级方案,以及为什要升级,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-02-02
  • Java聊天室之实现客户端一对一聊天功能

    Java聊天室之实现客户端一对一聊天功能

    这篇文章主要为大家详细介绍了Java简易聊天室之实现客户端一对一聊天功能,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以了解一下
    2022-10-10
  • 简单总结单例模式的4种写法

    简单总结单例模式的4种写法

    今天带大家学习java的相关知识,文章围绕着单例模式的4种写法展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Springboot项目中内嵌sqlite数据库的配置流程

    Springboot项目中内嵌sqlite数据库的配置流程

    这篇文章主要介绍了Springboot项目中内嵌sqlite数据库的配置流程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Java8的Optional如何干掉空指针(示例详解)

    Java8的Optional如何干掉空指针(示例详解)

    这篇文章主要介绍了Java8的Optional如何干掉空指针,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • JDBC利用C3P0数据库连接池连接数据库

    JDBC利用C3P0数据库连接池连接数据库

    这篇文章主要为大家详细介绍了JDBC利用C3P0数据库连接池连接数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • SpringBoot中pom.xml配置详解

    SpringBoot中pom.xml配置详解

    pom.xml是Maven项目的核心配置文件,用于管理项目的依赖、插件、构建配置等,在Spring Boot项目中,pom.xml文件也扮演着重要的角色,本文将给大家详细介绍一下SpringBoot中pom.xml配置,需要的朋友可以参考下
    2023-09-09
  • Idea如何查看Maven依赖树

    Idea如何查看Maven依赖树

    这篇文章主要介绍了Idea如何查看Maven依赖树问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • OAuth2生成token代码备忘实现过程示例

    OAuth2生成token代码备忘实现过程示例

    这篇文章主要为大家介绍了OAuth2生成token代码备忘实现过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08

最新评论