ZIP【C语言指针】深入浅出:指针与取值、数组、函数; 详细剖析:指针函数、函数指针、指针数组、数组指针、双重指针、指针与动态内存分配 54.89KB

Thmos_vader需要积分:7(1积分=1元)

资源文件列表:

C与指针.zip 大约有6个文件
  1. test/prt_test.c 2.51KB
  2. test/prt_test.exe 128.6KB
  3. test/ptr_fun.c 552B
  4. test/ts_read.c 1.46KB
  5. test/ts_read_mt.c 2.04KB
  6. 指针.md 26.26KB

资源介绍:

深入浅出:指针与取值、数组、函数; 详细剖析:指针函数、函数指针、指针数组、数组指针、双重指针、指针与动态内存分配 个人总结要点: 本质: 地址要用指针来存储,指针是用来存储地址的!!! 重难点: 指针指向的地址,也就是指针存储的地址!!! 就像整型数据要用整型变量来存储,整型变量是用来存储整型数据的! 地址: 地址值: ptr/∑ 取出地址所存的值: *a/sum; 地址所存的值的类型 : int 典例:函数指针 void(* Fun)(void) 地址值: Fun 取出地址所存的值: * Fun 地址所存的值的类型: void (即为函数类型) Tips: 指针(*)则右边是它指向的地址的标识符(也可以称为指针变量),左边为它指向的地址所存的值的类型; 函数(Function)则右边为参数,左边为返回值;
/* 本质: 地址要用指针来存储,指针是用来存储地址值的!!! 重难点: 指针指向的地址,也就是指针存储的地址!!! 就像整型数据要用整型变量来存储,整型变量是用来存储整型数据的! 地址: 地址值: ptr/&sum; 取出地址所存的值: *a/sum; 地址所存的值的类型 : int 典例:函数指针 void(* Fun)(void) 地址值: Fun 取出地址所存的值: * Fun 地址所存的值的类型: void (即为函数类型) */ #include <stdio.h> int main(void) { int sum = 10; //定义一个指针整型变量 /*第一种写法 */ //声明一个指向整型变量的指针变量 ptr,同时将指针 ptr 指向整型变量 sum 的地址 //int* ptr = &sum; /*第二种写法 */ //ptr是一个指针变量,它存了一个地址 *ptr为取出地址所存的值 int为地址所存的值的变量类型 int* ptr; //声明一个指针变量ptr,用于存储整型变量的地址;地址所存的值是整数类型的 ,指针存的也必须是一个整型变量的地址; ptr = &sum; //ptr是一个指针变量,指针存的就是sum的地址(&sum),这行把sum地址值取出来地址赋给指针ptr。 printf("sum的地址(值): %d\n", &sum ); printf("ptr指向的地址(值): %d\n", ptr ); printf("ptr指向的地址所存的值: %d\n", *ptr ); printf("________________________\n\n"); //指针与数组 int arr[] = {0, 1, 2}; int *ptr1; printf("开始指针ptr1的指向地址的值: %d\n", ptr1); printf("数组首地址:%d\n", arr); ptr1 = arr; //给指针ptr1赋值(指向数组首地址)后,指针ptr指向(存储)的地址为数组首地址 printf("现在指针ptr1的指向地址的值: %d\n", ptr1); //打印数组arr的首地址:ptr1与指向arr的首地址,自然打印的都是首地址的值 printf("数组首地址:%d\n", arr); //地址引用 printf("*ptr1 为取出地址所存的值:%d\n", *(ptr1 + 0)); //*(ptr1 + 0)等价于*ptr1也等价于arr[0] printf("*(ptr1 + 1) 为取出地址所存的值:%d\n", *(ptr1 + 1)); //*(ptr1 + 1)等价于arr[1] //再次说明ptr与arr都能代表数组首地址 ptr1[0] = 3; //测试是否能够修改第一个元素值 printf("first:%d\n", arr[0]); //发现可以,说明 ptr1[0]等价于 arr[0]; arr[0] = 4; printf("secend%d\n", arr[0]); //留下一个思考 int* ptr3 = 10; printf("%d,%d", *ptr3 ,ptr3); /* 底层机制理解: int arr[] = {0, 1, 2}; int *ptr= arr; 声明: 声明一个指向整型数组的指针变量,指这个指针变量指向向数组的首地址 解释: arr的首地址赋给ptr,ptr是一个整型指针,用于存储一个地址,地址存的值为整数类型 所谓的指针就是把地址所代表的值取出来 即为 (*ptr) int代表 这个值为整型,指针指向的内容是整型; 之前说“指针存的也必须是一个整型变量的地址 ” 地址存的值的变量类型 与 指针指向的地址需要存的值变量类型 不一致则需要强制转换 : int* ptr = (int*)malloc(sizeof(int)); */ }
100+评论
captcha
    类型标题大小时间
    ZIP基于最小顺序MSBM)的分布式装配置换流水车间调度问题(DAPFSP)MILP模型 (CPLEX)2.28KB8月前
    ZIP小王的第一个代码分享的一个.zip11.57MB8月前
    ZIPJava聊天室.zip1.18MB8月前
    ZIPJava论坛管理系统.zip259.49KB8月前
    ZIP《灰色预测理论及其应用》Matlab程序.zip19.14KB8月前
    ZIP百度百科新闻小说word2vec预训练中文模型345B8月前
    ZIPpojo、mapper文件自动生成3.82MB8月前
    ZIP基于MATLAB的贪吃蛇(完美运行)60.69KB8月前