数组的两种声明方法: char str[]={'a','b','c','\0'}; char *str = "abc"; 关于指针: 与指针有关的各种说明和意义见下表。 int *p; p为指向整型量的指针变量 int *p[n]; p为指针数组,由n个指向整型量的指针元素组成。 int (*p)[n]; p为指向整型二维数组的指针变量,二维数组的列数为n int *p() p为返回指针值的函数,该指针指向整型量 int (*p)() p为指向函数的指针,该函数返回整型
本文分享了利用二维动态数组指针做矩阵运算的实现代码。
1. 头文件
// juzhen 2.cpp : Defines the entry point for the console application.
//
#include stdafx.h
#include stdlib.h
#include windows.h
#define OK 0
#define NG -1
typedef struct mat
{
int nRow; /* 行数 */
int
数组指针与指针数组的区别在于:数组指针p是一个指针,而指针数组p是一个存放N个指针变量的数组。
一、数组指针int (*p)[n]重点:()优先级高([]、()的优先级是一样的,但它们的方向是从左至右的,所以先运行括号里的*p),首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度(n*sizeof(int))。如要将二维数组赋给一指针,应这样赋值: int a[3][4]; int (
int *p[3]与int (*p)[3]的区别*p[3]这个是一个指针数组,它所代表的意思是数组中的每一个元素都是一个指针变量,而(*p)[3],p是一个指针变量,表示指向一个含有3个整型元素的一维数组。 代码如下:int i,j; int a[2][3]={3,4,5,6,7,8}; // int *p[3] ; //表示一个数组,数组中的元素是指针类型,一共有三个元素 int (*q)[3]; //是一个指针,指向一个含有三个int型的数组(q+1)会跳三个数组元素
使用new 创建二维数组方法
#include
using namespace std;
void main()
{
//用new创建一个二维数组,有两种方法,是等价的
//一:
int (*p)[10] = new int[5][10];
//二:
int **p = new int* [5];
for(int i=0;i <5;i++)
p[i] = new int[10];
//指针数组的创建,也有两种方法
//一:
char **pa = new char* [4];
for