C语言进阶(牟海军)C 语言指针理解 续
来源:互联网 发布:如何连接网络摄像头 编辑:程序博客网 时间:2024/05/29 14:08
上一篇讲到了指针的理解,现在我们讲述一下指针的指针的概念,指针的指针用到最多的就是二维数组的概念了
给个例子
#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <time.h>int main(){srand(time(0));int **a;int row,col;printf("please input a row:\n");scanf("%d",&row);printf("please input a col:\n");scanf("%d",&col);a = (int **)malloc(sizeof(int *)*row);for (int i=0;i<row;i++){a[i] = (int *)malloc(sizeof(int)*col);}for (int i=0;i<row;i++){for (int j=0;j<col;j++){a[i][j] = rand()%100;}}printf("the array number is:\n");for (int i=0;i<row;i++){for (int j=0;j<col;j++){printf("%d\t",a[i][j]);}printf("\n");}int **p = (int **)malloc(sizeof(int *)*row);//指针数组for (int i=0;i<row;i++){p[i] = a[i];}printf("指针数组:\n");for (int i=0;i<row;i++){for (int j=0;j<col;j++){printf("%d\t",*(p[i]+j));}printf("\n");}//int (*p)[]int **q = (int **)malloc(sizeof(int *)*row);//指针数组q = a;printf("数组指针:\n");for (int i=0;i<row;i++){for (int j=0;j<col;j++){printf("%d\t",*(*(p+i)+j));}printf("\n");}system("pause");return 0;}
二维数组的初始化就不用说了
现在讲一下指针数组和数组指针
指针数组的定义是
类型名 *数组名【数组长度】
int *p[8]
数组指针的定义是
类型名 (*指针名)【数组长度】
int (*p)[8]
指针数组相当于定义了一个8个整形的指针变量,用于存放地址单元,本质是数组
数组指针本质是指针,该指针指向的是有8个整形元素的数组
0 0
- C语言进阶(牟海军)C 语言指针理解
- C语言进阶(牟海军)C 语言指针理解 续
- C语言进阶(牟海军)C 语言指针理解 续(2)
- C语言进阶(牟海军)
- 理解C语言指针
- C语言指针进阶(1)
- C语言06指针进阶
- 理解C语言中的指针(一)
- 深入理解C语言指针(一)
- 深入理解C语言指针(二)
- 深入理解C语言指针(三)
- C语言指针理解(一)
- C语言指针理解(二)
- 深入理解C语言指针
- 深入理解C语言指针
- 深入理解C语言指针
- 深入理解C语言指针
- 深入理解C语言指针
- Java创建线程的两个方法
- ASP.NET ViewState详解
- 《算法导论》笔记 第8章 8.3基数排序
- Opencv自带的HOG进行行人检测-QT例程
- 数据库三范式
- C语言进阶(牟海军)C 语言指针理解 续
- 百度编辑器 ueditor1.1.8.1 For Asp.net 配置 上传功能详解
- git log 小结
- Effective C++——》条款2:尽量以const,enum,inline替换#define .
- XMLHTTP使用详解
- MBA联考内容及用书推荐
- finger chfn id 查询个人信息
- js xss系列防御转载文章(二)
- 【C++ 快速入门】习题1.3 1.4 1.5 1.6 1.7 1.8