c语言指针指向数组写法,C语言编程是如何用指针指向二位数组的某个为

1,C语言编程是如何用指针指向二位数组的某个为如果,你需要让指针指向哪个数,直接把这个数的地址,赋给该指针,就行了 。比如:int *p1,*p2;int a[2][3]=p1=&a[0][1];//p1指向2p2=&a[1][0];//p2指向3*b=a[0][1];*b=a[1][0];(*p)[3]准确的说是一个行指针 。它指向的是一个数组 。因为【3】定义了它是一个3列的数组,所以当p+1的时候是数组移动3个单元.注意 , 是数组移动,不是数组元素【c语言指针指向数组写法,C语言编程是如何用指针指向二位数组的某个为】
2,C语言的指针数组# include void main() { void exchange(char *name[],int n); char * name[]={"January","February","March","April","May","June","July","August","September","October","November","December"}; int n; printf("请输入1-12数字"); scanf("%d",&n); exchange(name,n); } void exchange(char *name[],int n) { printf("%s\n",name[n-1]); }
3,c语言结构体指针指向结构体的数组如果wRxd+3不大于200的话分别指向pUTask.RxTx.bRxd[pUTask.RxTx.wRxd]pUTask.RxTx.bRxd[pUTask.RxTx.wRxd + 1]pUTask.RxTx.bRxd[pUTask.RxTx.wRxd + 2]pUTask.RxTx.bRxd[pUTask.RxTx.wRxd + 3]polynomial *p 那p就是一个指向“polynode结构体指针”的指针 。typedef struct { ... }*polynomial; 这说明polynomial是定义指针类型的 , 指向对象是这个结构体 。polynomial p;就是定义了一个指向这种结构体的指针 。hi 578258559,上边pR = (Hr *)(pUTask.RxTx.bRxd+pUTask.RxTx.wRxd);这种写法,根本就是错的这根本找不到你想要的值 , 一个WORD 类型被你强制转换成了Hr这个结构,后边都是乱的了!希望能帮到呢!
4,C语言中用指针变量指向数组元素在这里for(p-a;p<(a+10);p++)使用指针 p 以前没有对指针赋值 。这样不行 。这样指针所指的地址是内存的一个随机地址 。在给数组a赋值之前要有“p=a”这样才让指针指向数组的首地址 。而且最后的for(p-a;p<(a+10);p++)中的“p-a”使指针重新指向a 的首地址 。p<(a+10)是相当于 P最多可以指向a[9] 的地址 。“p++”是让p从a[0]一直上移到p指向a[9]数组名并不是一个普通的变量,而是一个指向数组首元素的指针 。也就是说,我们可以用数组名来初始化一个对应类型的指针 。虽然数组名是指针,但它是一个指针常量 。也就是说,不带下标的数组名不能作为左值 。指针是一种数据类型 , 所以,我们可以用指针类型来创建一个数组 。声明一个指针数组的语句格式是:指针类型 * 数组名[常量表达式];对指针数组的操作和对指针变量的操作并无不同.main()暂时先写这么多,你一开始没给p赋值是不对的~定义数组a为整型定义指向整型的指针变量P,整型变量i依次输入十个整数下一个循环,首先P指向数组首地址 , 即指向数组第一个元素,然后P依次加一,移向下一地址 , 即指向数组下一个元素依次打印输出5,C语指针数组兄弟 楼主要的是随即输入的哦#include"stdio.h"#define N 10int main(){int *p;int i,j;int a[N];p=a;//把a数组的首地址赋予指针P的 //for(i=0;i# include# define M 10 void main() { int a[M],*po; po=a; while(po # define M 10 void main() { int *a[M],**po; po=a; while(po#include typedef THE_MARY_MAX_NUM 10 void main() { int iMary[THE_MARY_MAX_NUM]; memset(iMary, 0xff, sizeof(iMary)); int *pMary = iMary; for(int iIndex = 0; iIndex < THE_MARY_MAX_NUM; iIndex++){ printf("Input you number:\n"); int iInPutNumber; scanf("%d", &iInPutNumber); iMary[iIndex] = iInPutNumber; } printf("use the pointer output\n"); for(int iOutIndex = 0; iOutIndex < THE_MARY_MAX_NUM; iOutIndex++){ printf("%d", pMary[iOutIndex]); } }#includevoid main() { int aa[] = {1,2,3,4,5,6,7,8,9,0}; int *p = aa; int i; for(i = 0;i < 10;i++) { printf("%d ",p[i]); } }

    推荐阅读