`

C语言复习 指针和数组

 
阅读更多
#include <stdio.h>    
#include <stdlib.h>
// 数组是一块连续的内存空间  数组名 就是内存空间的首地址 
// 数组名[i]  ==  *(数组名+i); 
 main() 
{  
            /* char[] arr = new char[20]; 
             char arr[] ; 
             */
             // 创建一个长度为5的int类型的数组  
            int arr[5] ={1,2,3,4,5};
            
            printf("a[0]=%d\n",arr[0]);
             
        
            printf("a[4]=%d\n",arr[4]);
        
             // 逻辑上是错误的代码  数组下标越界  
            // printf("a[5]=%d\n",arr[5]);
            // windows xp   缓冲区越界补丁  
            
            
            // arr是一个什么东西呢? 
            printf("arr = %#X\n",arr); 
            
            // 回答:打印 数组的第一个元素的地址 
            printf("arr[0]地址 = %#X\n",&arr[0]); 
            
            // 打印数组中的第二个元素 
            printf("arr[1]=%d\n",arr[1]); 
            printf("arr[1]=%d\n", *(arr+1));
            //问题: arr[i]  *(arr+i)  代表的是同一个变量么? 
            // 代表的是同一块内存空间 指向的是同一个变量  
            
            
            //通过实验 : 数组名表示的 就是这个数组第一个元素 的首地址 
        
               system("pause");    // 调用windows下系统的命令 让程序暂停执行  方便观察程序的执行结果  
          
          
}



#include <stdio.h>    
#include <stdlib.h>
 main() 
{  
        int i =3;  //天津的某个路上 盖了一个房子 3 
        int j =5;  // 北京的某个路上 盖了一个方法 5 
        int* p = &i; // p 天津的门牌号 
        int* q = &j; // q 北京的门牌号 
        
       
        // 指针的运算和数组都是紧密关联的 
        char arr[5]={'a','b','c','d','e'};  //一块连续的内存空间 
        
        char* p1 = &arr[2];
        printf("char = %c\n", *(p1-1));
        
        // char 内存中占用 1个字节 
        // int 内存 中占用 4个字节  
        
         int intarr[5]={1,2,3,4,5};  //一块连续的内存空间 
        
        int* q1 = &intarr[2];
        printf("char = %d\n", *(q1-1));
        
        
        
        // 指针的运算 按照 约定好的数据类型   偏移相对应的内存空间的大小  
        
        system("pause");    // 调用windows下系统的命令 让程序暂停执行  方便观察程序的执行结果  
    
}


分享到:
评论

相关推荐

    C语言课件—指针

    指针变量作为函数参数(复习) 函数的指针和指向函数的指针变量 指针数组和指向指针的指针 堆内存的使用(指针数组实现动态数组) main函数的命令行参数

    《C语言程序设计》C语言期末上机考试复习题+答案50道,顺序加选择,循环,数组,函数,指针

    大学生期末C语言复习文件,内容包括:顺序加选择,循环,数组,函数,指针,内容从易到难,努力练习必定期末稳过!!!

    2024年计算机二级c语言复习资料

    内容涵盖了C语言的基本概念、数据类型、控制结构、函数、数组、指针、结构体、文件操作等核心知识点,以及备考策略、考试技巧和备考资源等实用信息。 **适用人群:** 本教程适合所有准备参加计算机二级C语言考试的...

    C语言复习题64-按类型(自己修正)程序设计.doc

    指针(指针的概念、指针和一维数组) 结构体和联合体(基本概念) 3、 主要算法 (1) 判断整除 (2) 用公式求和、积 (3) 求最大最小值 (4) 数列(斐波那契数列) (5) 最大公约数和最小公倍数 (6) 求素数 ...

    C语言江苏省复习ppt

    江苏省C语言分类复习课件函数 链表 数组 循环 指针

    C语言复习资料

    4.指针数组 5.指向函数的指针 6.main函数的形参 7.void*和动态存储分配 8.复杂表示的分析 五、编程练习 第七部分:结构体与共用体 一、结构体变量说明与赋值操作 二、结构体数组与结构体指针 三、结构体量的各种使用...

    C语言基础知识PPT 共十一章知识内容

    C语言基础知识PPT 共十一章知识内容 适合大一初学C语言者期末复习/考前突击 第一章绪论 第二章C数据类型 第三章简单的简单的算术运算和表达式 - new.ppt 第04章-键盘输入和屏幕输出 - ...第11章-指针和数组newnew.ppt

    C语言结构体.ppt

    定义结构体类型 定义结构体类型变量 引用结构体变量 给结构体变量赋值 结构体的嵌套 结构体数组 指向结构体类型变量的指针

    计算机二级C语言知识点复习资料,精简版

    内容涵盖了程序设计基础、控制结构、函数、数组和指针、结构体、文件操作等核心知识点,以及考试题型、备考策略和注意事项等实用信息。 **适用人群:** 本教程适合所有准备参加计算机二级C语言考试的考生,特别是对...

    新手小白学习C语言笔记推荐,适合零基础编程的小白也适合有一定的基础的同学,可以学习C语言的基本知识和复习

    我的C语言笔记从数组,操作符的使用,函数,指针和结构体进行详细的介绍,用相关的代码进行一些知识点的验证,里面也有相关的小型项目进行练习,包括:三子棋和扫雷,都可以帮助我们提高自己学习编程语言的兴趣和对...

    深圳大学《C语言程序设计》笔记-重点笔记

    深圳大学《C语言程序设计》笔记的重点笔记是该课程的核心内容,涵盖了C语言程序设计的基本概念、语法、数据类型、控制结构、函数、指针、数组、结构体、文件操作等方面的知识点。该笔记采用了多种形式(如思维导图、...

    上海海洋大学《C语言程序设计》笔记-期末重点

    深圳大学《C语言程序设计》笔记的重点笔记是该课程的核心内容,涵盖了C语言程序设计的基本概念、语法、数据类型、控制结构、函数、指针、数组、结构体、文件操作等方面的知识点。该笔记采用了多种形式(如思维导图、...

    《C语言程序设计》课程期末样卷7份,2023第一学期《C语言程序设计》期末复习资料

    《C语言程序设计》是一门计算机科学与技术专业经典的必修课程,旨在培养学生的编程能力和解决问题的思维方式,本资源是《C语言程序设计》配套的期末复习资料,包含7份期末考试样卷,供同学们复习使用。《C语言程序...

    C语言课件-赵岩

    C语言总复习.pptx C语言推荐书籍.ppt 第0讲-概述.pdf 第10讲-指针的复杂形式.pdf 第11讲-结构体.pdf 第12讲-文件.pdf 第1讲-数据类型.pdf 第2讲-表达式.pdf 第3讲-观其大略.pdf 第4讲-控制结构.pdf 第5讲-函数.pdf ...

    C语言复习试题

    C语言程序设计教程 试题集含答案(基础反馈题,函数,数组,指针等)

    C语言精简复习资料,可用于学习与复习参考

    内容包含: 1.Linux编程 2.linux标准C 3.变量(数据) 4.变量输入输出 5.运算符 6.代码逻辑结构 ...9.数组 10.指针 11.内存数据分配 12.复杂类型定义 13.宏定义 14.条件编译 15.多文件编译 16.递归函数,回调函数

    嵌入式开发过程(Linux)

    第一阶段 ...嵌入式C语言编程基础 主要介绍在嵌入式开发编程中C语言的重要概念和编程技巧中的重点难点,以复习串讲和实例分析的形式,重点介绍包括函数与程序结构,指针、数组和链表,库函数的使用等知识

    个人C语言知识点笔记总结-pdf版

    这份笔记涵盖了C语言的基础语法、数据类型、运算符、条件语句、循环语句、函数、指针、数组、结构体、文件处理等方面的内容。我相信,如果你认真阅读这份笔记,再结合自己一定的相关练习,差不多能够掌握C语言的基础...

    个人C语言知识点笔记总结-md版

    这份笔记涵盖了C语言的基础语法、数据类型、运算符、条件语句、循环语句、函数、指针、数组、结构体、文件处理等方面的内容。我相信,如果你认真阅读这份笔记,再结合自己一定的相关练习,差不多能够掌握C语言的基础...

    个人C语言知识点笔记总结-word版

    这份笔记涵盖了C语言的基础语法、数据类型、运算符、条件语句、循环语句、函数、指针、数组、结构体、文件处理等方面的内容。我相信,如果你认真阅读这份笔记,再结合自己一定的相关练习,差不多能够掌握C语言的基础...

Global site tag (gtag.js) - Google Analytics