自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

寒风1999

记录每一天的点滴进步

  • 博客(17)
  • 收藏
  • 关注

原创 4.2.二维数组和它的指针

这片文章介绍二维数组int a[ i ] [ j ]中的符号:a,&a[ i ],&a[ i ][ j ],a[ i ][ j ],&a[ i ] [ j ]的含义,重点在后面第二部分的分析,但是前面第一部分的复习数组指针,指针数组和二维指针是前提,前面的不会,后面的没法理解。这片文章写的有些费劲,个人能力不够,可能会有错误,希望各位朋友能够指正,共同进步。//握手一:先回顾一下数组指针,指针数组,

2016-06-30 20:31:13 540

原创 二维数组和它的指针

这片文章介绍二维数组int a[ i ] [ j ]中的符号:a,&a[ i ],&a[ i ][ j ],a[ i...

2016-06-30 20:31:00 31

原创 数组指针和指针数组和二重指针

数组指针和指针数组分析1.概念区别 1.1.数组指针: 也就是数组的指针。一个指针,它指向一个数组。 1.2.指针数组: 也就是指针 的数组。一个数组,里面的元素都是指针。2.指针和数组分别定义的符号 2.1 int * p; 分析: 第一步:找核心,核心是p。 第二步:逐层剥离,p和*结合是指针。所以int*p;是定义了一个指针2.2. int p[5]; 分析: ...

2016-06-30 20:24:00 61

原创 4.1.数组指针和指针数组和二重指针

数组指针和指针数组从字面上来看很纠结,有时候我也搞不清,分不清哪样的是数组指针,哪样的是指针数组。这东西就不是靠记忆的,我们采取分析加对比分层剥离的方法分析。1.概念区别 1.1.数组指针:定语在前,主语在后。也就是数组的指针。一个指针,它指向一个数组。 1.2.指针数组:定语在前,主语在后。也就是指针 的数组。一个数组,里面的元素都是指针。2.指针和数组分别定义的符号 2.1 i

2016-06-30 20:23:57 1862

原创 3.6.数组、指针与sizeof( ) 运算符

这篇文章主要介绍sizeof( )运算符的用法 1. sizeof() 和 strlen() (1) sizeof()是一个运算符,如同加减乘除,返回数据类型或者变量的内存大小。 (2) strlen()是一个C库函数,返回字符串的长度。 2.char str[] = “hello”sizeof(str) //str在这既不做左值也不做右值,代表数组的所有大小,字符串

2016-06-21 21:43:25 517

原创 数组、指针与sizeof( ) 运算符

这篇文章主要介绍sizeof( )运算符的用法 1. sizeof() 和 strlen() (1) sizeof()是一个...

2016-06-21 21:43:00 36

原创 3.5.指针的强制类型转换

1.什么是数据类型?数据类型的作用是什么?int a = 10; int数据类型规定了变量a的大小的存储方式。数据类型就只有两种作用,内存那么大,如何进行分配使用,都是靠数据类型。 int short char 数据类型的存储方式相同,只是所规定的内存大小不同,而float 和double和他们都不同。2.指针的数据类型是什么? 准确的来说,指针是没有数据类型的,所有的指针的类型都

2016-06-21 21:38:03 562

原创 指针的强制类型转换

1.什么是数据类型?数据类型的作用是什么?int a = 10;int数据类型规定了变量a的大小的存储方式。数据类型就只有两种作用,内存那么大,如何进行分配使用,都是靠数据类型。int short char 数据类型的存储方式相同,只是所规定的内存大小不同,而float 和double和他们都不同。2.指针的数据类型是什么? 准确的来说,指针是没有数据类型的,所有的指针的类型都是指...

2016-06-21 21:38:00 55

原创 数组和指针

1.从内存和编译器角度来理解数组1.1内存角度和编译器角度(1)定义五个变量,普通定义int a,b,c,d,e;和数组定义int a[5];1.都是定义了五个变量,第一种方法定义的变量的内存地址不一定是连续的,第二种方法定义的元素一定是地址连续的。 2.对于编译器来说,定义数组和定义其他变量的本质都是一样的。1.2来理解一些符号 a,a[0],&a,&a[0...

2016-06-17 21:17:00 34

原创 3.4.数组和指针的关联

1.从内存和编译器角度来理解数组1.1内存角度和编译器角度(1)定义五个变量,普通定义int a,b,c,d,e;和数组定义int a[5]; 1.都是定义了五个变量,第一种方法定义的变量的内存地址不一定是连续的,第二种方法定义的元素一定是地址连续的。 2.对于编译器来说,定义数组和定义其他变量的本质都是一样的。1.2来理解一些符号 a,a[0],&a,&a[0]分别和左值右值的关系分析

2016-06-17 21:16:38 470

原创 const关键字对指针的影响

const关键字定义的变量#include<stdio.h>int main( void ){ const int a = 10; a = 20;}结果怎样?编译错误[Error] assignment of read-only variable ‘a’ 变量a是只读的。得到一个结论,使用const修饰的变量是常量,我们无法修改。在gcc...

2016-06-14 23:02:00 35

原创 3.3.const关键字和指针的纠缠

const关键字定义的变量#include<stdio.h>int main( void ){ const int a = 10; a = 20;}结果怎样?编译错误 [Error] assignment of read-only variable ‘a’ 变量a是只读的。得到一个结论,使用const修饰的变量是常量,我们无法修改。在gcc中把const常量放到了dat

2016-06-14 23:01:45 410

原创 野指针

什么是野指针?通过一段代码来体会一下。#include<stdio.h>int main(void){ int * p ; *p = 314; printf("*p = %d\n",*p);}看看打印的值是多少?是314吗?程序运行出错了,为什么?回想一下局部变量的特点:1.分配在栈上,2.若未初始化,其值为垃圾值。这里的指针变量 p 也...

2016-06-14 22:52:00 56

原创 3.2.小心野指针

什么是野指针?通过一段代码来体会一下。#include<stdio.h>int main(void){ int * p ; *p = 314; printf("*p = %d\n",*p);}看看打印的值是多少?是314吗?程序运行出错了,为什么?回想一下局部变量的特点:1.分配在栈上,2.若未初始化,其值为垃圾值。这里的指针变量 p 也是局部变量,p为经初始化,p保留的

2016-06-14 22:51:46 427

原创 指针变量和指针变量符号 & *

指针和普通变量的一样,本质没有区别,指针的本质就是变量。指针全名就是指针变量。1.什么是指针?#include<stdio.h>int main(void){ int a = 0; float b = 3.14; char c = 'a'; }分析:变量 a 的数据类型是int,a存放整形数据 变量 b 的数据类型是float,...

2016-06-06 19:53:00 55

原创 3.1.深入理解指针1--什么是指针、指针符号 & *

指针和普通变量的身份低位一样,本质没有区别,指针的本质就是变量。指针全名就是指针变量。这句话写在最前面就是告诉大家,指针并没有什么特殊的,这样我们才能平心静气的去“搞”它。1.什么是指针?#include<stdio.h>int main(void){ int a = 0; float b = 3.14; char c = 'a'; }分析: 变量 a 的数据

2016-06-06 19:52:41 1319

原创 用宏定义来完成位运算

2.5.技术升级:用宏定义来完成位运算直接用宏来置位、复位(最右边为第1位),我们先来看看最终结果是什么样的,然后我们再来一步一步的分析// 把x的第n位置一 #define SET_NTH_BIT(x, n) (x | ((1U)<<(n-1)))//把x的第n位清零 #define CLEAR_NTH_BIT(x, n) (x & ~((1U)<<(n-1)))//把x的n-m

2016-06-03 18:17:46 1254

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除