数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。 如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; // ...
分类:
编程语言 时间:
2017-04-06 18:17:56
阅读次数:
229
sizeof(char) → 返回char型所占空间:1 (Byte) sizeof(char*) → 返回char*型指针所占空间:4 (Byte) sizeof(char**) → 返回该字符串指针数组里元素所占空间:n*4(n为字符串指针数组元素个数,也即数组的字符串个数) 比如 char * ...
分类:
其他好文 时间:
2017-04-04 20:47:36
阅读次数:
150
1.我下载的欧路词典: 2.GIT以及码云账号:964390499@qq.com 3. 4.总结: 这个程序使我对函数的调用和指针数组更加了解,并且在打代码时发现自己总是马虎出现问题,以后一定要改掉这个坏习惯。 ...
分类:
其他好文 时间:
2017-04-04 20:11:50
阅读次数:
161
一、指针的本质:变量,指针变量就是指针变量int *p:两个变量,一个p(指针变量本身)是int *类型的 另一个是*p(指针指向的那个变量)是int类型的注:指针说白了就是指针类型,前面定义的int类型是为了说明指针指向的那个数的类型,所以指针的解析方式都是按地址来解析的(不管你是char *还是 ...
分类:
编程语言 时间:
2017-03-26 22:47:21
阅读次数:
226
数组和指针在作为实参传入T[] 或T*的形参时没有区别 上述代码输出的是4(32位系统)或8(64位系统),总之不是sizeof(int) * 5(数组大小)。 为什么明明形参是数组形式的int [],实际上和指针形式的int *无异呢?关键原因就在于,数组是不能作为左值的。 也就是说,你不能定义两 ...
分类:
编程语言 时间:
2017-03-21 19:41:12
阅读次数:
279
首先是简单的一维数组 定义一个数组int arr[5]; arr是指向数组第一个元素的int类型指针,arr+1就是指针数组第二个元素的int类型的指针,*arr就是取这个指针里面对应的值,这个比较好理解 到了二维数组这边比较蛋疼,找了很久找到一句话来解释我的疑惑,然后一切就迎刃而解 定义一个二维数 ...
分类:
编程语言 时间:
2017-03-16 23:46:58
阅读次数:
182
1 //双指针对十个数排序 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 #define N 8 6 //2017.3.5 7 int main() 8 { 9 //初始化数组 赋值N个数 用指针数组指向 10 int num[N]; 11 int * ...
分类:
编程语言 时间:
2017-03-10 23:50:54
阅读次数:
391
最开始学习c语言的时候,老是对指针数组和数组指针弄混淆,但是从英文解释来看就比较容易了。 指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针。 数组指针: a pointer to an array,即指向数组的指针。 比如: int *a[4] 指针数组 表 ...
分类:
编程语言 时间:
2017-03-07 15:15:16
阅读次数:
236
1、指针函数与函数指针、函数指针数组 指针函数:返回值为指针的函数 编译时,会出现警告,返回了一个已经被释放掉的内存空间的首地址解决方法:1、static 2、char *str = "hello world"; 3、malloc 注意:使用完后要free并将指针置为NULL(相对于方法二,这个更加 ...
分类:
编程语言 时间:
2017-03-03 01:22:59
阅读次数:
267
int i ————定义整形变量i int *p———- p为指向整型变量的指针变量 int a[n]——- 定义整型数组a,它有n个元素 int *p[n]—– 定义指针数组p,它由n个指向整型数据的指针元素组成 int (*p)[n] —p为指向含n个元素的一维数组的指针变量 int f()—— ...
分类:
编程语言 时间:
2017-03-01 12:29:34
阅读次数:
154