c: Pointer two-dimensional array

 

    printf("hello world, c \n");
    printf("你好,中国\n");


    int duArry[] = {0,1,2,3,4,5} ;
    int* pArr;
    pArr = duArry;
    pArr = &duArry[0] ;
    int l=sizeof(duArry)/sizeof(duArry[0]);
    for(int i=0;i<l;i++)
    {
        //printf("%d\n",*(pArr));//通过指针偏移即能访问后续元素 可以
        printf("%d\n",*(duArry+i));
    }
    int du[5][4] = {1,2,3,4,5,9,1,0,5,6,7,8,2,4,6,9,6,3,7,9};
	
	//	指针遍历数组的第二种方式:
	int *dup = &du[0][0]; 		//	声明了一个指针变量,(仅仅也只是一个一维条件下的变量) 
	for(int i=0; i<5; i++)
	{
		for(int j=0; j<4; j++)
		{
			/*下面的这个指针变量的遍历也即仅仅是按位一个个的对其访问*/ 
			printf("%3d ", *dup++);		
		}
		printf("\n");
	}
    int DuArrys[3][5] = { {1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7} };
    int *geovindup[3] = {DuArrys[0], DuArrys[1], DuArrys[2]}; //
    for(int i=0; i<3; i++)
	{
		for(int j=0; j<5; j++)
		{
			/*下面的指针变量方式也即对应的是这个指针数组的遍历方式*/ 	
	       //printf("%3d ", *(*(geovindup+i)+j));	//	正确 
			printf("%3d ", *(geovindup[i]+j)) ;		//正确 
		
		}
		printf("\n");
	}

  

        char sdu[256];
        char *pdu;
        char *dudu;
        char *dudu1;
        scanf("%s",sdu);
        printf("輸入的字符串:%s",sdu);
        pdu=sdu;
        dudu1 = pdu++;
        while(*pdu!='\0')pdu++;
        //{
            //pdu++;
            printf("++為:%s\n",dudu1);
        //}

        dudu=pdu-sdu;
        printf("尾部:%p\n",pdu);
        printf("首部:%p\n",sdu);
        printf("The string length is %d\n",dudu);  //輸入的字串多長就是多少
        printf("%d\n",dudu);

  

 

posted @ 2023-10-09 22:13  ®Geovin Du Dream Park™  阅读(15)  评论(0)    收藏  举报