随笔分类 - 指针
摘要:1、静态变量不能跨函数使用(重点) /* 静态变量不能跨函数使用 指针变量地址只能是**类型,这里q存放的是指针变量p的地址,那么*q就是p,把i的地址发 送给*q就等于把i的地址发送给p,既然p是i的地址那么*p就是i,所以*p=5。 但这个程序是错误的:q和i是静态分配的,f终止之后,为f分配的
阅读全文
摘要:使用多级指针的目的:跨函数使用内存 1、多级指针的定义 # include <stdio.h> int main(void) { int i = 10; int * p = &i; //p只能存放int类型变量的地址 int ** q = &p; //q是int **类型, 所谓int **类型就是
阅读全文
摘要:一、传统数组的缺点(*****) 1).数组长度必须事先制定,且只能是常整数,不能是变量 例子: int a[5];//oK int len=5;int a[len];//error 2).传统形式定义的数组,该数组的内存程序员无法手动释放,在一个函数运行期间,系统为该函数中数组所分配的空间会一直存
阅读全文
摘要:1.指针变量的运算 指针变量不能相加 不能相乘 也不能相除 如果两个指针变量指向的是同一块连续空间中的不同存储单元 则这两个指针变量才可以相减 # include <stdio.h> int main(void) { int i = 5; int j = 10; int * p = &i; int
阅读全文
摘要:1、一维数组名 1、一维数组名是个指针常量 2、它存放的是一维数组第一个元素的地址 # include <stdio.h> int main(void) { int a[5]; //a是数组名 5是数组元素的个数 元素就是变量 a[0] -- a[4] // int a[3][4]; //3行4列
阅读全文
摘要:1.指针/指针变量的定义 地址 内存单元的编号 从零开始的非负整数 范围:4G【0~4G-1】 指针/指针变量 内存区的每一个字节都有一个编号,这就是“地址” 指针的实质就是内存“地址”,指针就是地址,地址就是指针 指针就是内存单元的编号 指针变量就是存放内存单元编号的变量,或者说指针变量就是存放地
阅读全文
摘要:1.指针的作用 表示一些复杂的数据结构 快速的传递数据 使函数返回一个以上的值 能直接访问硬件 能够方便的处理字符串 是理解面向对象语言中引用的基础 总结:指针是C语言的灵魂 2.指针热身 程序(1): # include <stdio.h> int main(void) { int * p; //
阅读全文