Home Backend Development C#.Net Tutorial What are the uses of array pointers?

What are the uses of array pointers?

Jun 11, 2020 pm 04:20 PM
array pointer

What are the uses of array pointers?

1

int *a[4]; //指针数组

Copy after login

A pointer array is equivalent to declaring multiple pointers at once. Each element of the array is a pointer. It's easy to understand. Let's mainly look at array pointers

1

int (*p)[4]; //数组指针

Copy after login

Array pointers are equivalent to declaring one pointer at a time. It's just that this pointer points to a very special array.

[] has a priority greater than *, so () must be added when declaring the array pointer.

Example 1:

1

2

3

4

5

6

7

8

9

#include<stdio.h>#include<stdlib.h>void main()

{    //数组指针的用法,用处。

    int b[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};    int (*p)[4]; //该语句是定义一个数组指针,指针步长为4个int即16位。    //int *p2=&b;

    p=&b;    int i=0;    while(i<16)

    {

          printf("%d\t",(*p)[i]);          //printf("%d\t",*p2++);

          i++;

    }

}

Copy after login

printf("%d\t",(*p)[i]);Traverse the output array b;
The array pointer is equivalent to The same as King of Dance Zombie, with a younger brother, n is the number of younger brothers. Through the subscript value, you can directly access the specific younger brother, that is, which number in the array.

The array pointer subscript increases automatically (i), the pointer points unchanged.

This can be implemented directly using integer pointers, and it is more convenient and concise. See commented section above.

Example 2: Replace the while() statement in Example 1.

1

2

3

4

5

while(i<4)

  {

        printf("%d\t",(*p++)[0]);

        i++;

  }

Copy after login

Example 2 outputs 1 5 9 13, which is equivalent to the pointer moving 4 int.16 bytes at a time.

When the array pointer is incremented (*p), the pointer points to move sizeof (type).

In fact, the above sentence also applies to other types of pointers.

Such as int *p;

//The pointer points to int, which is an integer pointer. What are the characteristics of integer pointers? It is the address that can save the integer variable. What's the use? That is, p can point to the next int type number. So? Often pointers are used to point to an array. Because they are all of type int, the step size is derived? The step size of the integer pointer is sizeof(int), which is 4 bytes.

//Similarly, we can get float pointers, char pointers, etc. . .

In the same way, we can get the array pointer, what are its characteristics? Save the first address of the array. use? p can point to the next array. So? Use it to point to a two-dimensional array. Because each element in the two-dimensional array is of the same type (all are an int array), can the step size be deduced? sizeof(int[4]), that is, 16

//To put it bluntly, it is a pointer, pointing to the array type

Example 3: The array pointer points to a two-dimensional array.

1

2

3

4

5

6

7

8

#include<stdio.h>#include<stdlib.h>void main()

{    int a[3][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24}};    int (*p)[4]; //该语句是定义一个数组指针,指针步长为4个int即16位。

    p=&a;    int i=0;    while(i<3)

    {        //printf("%d\t",(*p)[i]);        //数组指针,指向的是一个数组整体,相当于指针也带了下标,当执行i++操作时,下标+1,得到该数组的下一个元素,        //在该例中,指针没有位移,所以依次输出为1 2 3

        printf("%d\t",(*p++)[0]);        //整型数组类型的指针,指向的是一个数组整体,当执行*p++操作时,指针位移该数组长度的位数        //在该例中,即指针位移4个int的长度,所以输出是1 11 21

        i++;

    }

}

Copy after login

Recommended tutorial: "C Video Tutorial"

The above is the detailed content of What are the uses of array pointers?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What is the use of php array pointers? What is the use of php array pointers? Dec 28, 2022 pm 07:23 PM

PHP array pointers are used to operate arrays. The array pointer is the internal organization mechanism of the array. Each array has an internal pointer pointing to its "current" unit (element). This pointer initially points to the first unit in the current array; by moving or changing the array pointer position, you can access any element in the array. PHP provides multiple built-in functions for controlling array pointers: current(), pos(), key(), next(), prev(), end(), reset().

How to move array pointer to next element using next function in PHP How to move array pointer to next element using next function in PHP Jun 26, 2023 pm 03:55 PM

PHP is a server-side scripting language widely used in web development. Its syntax is similar to C language, and it also provides many convenient functions and libraries. In PHP, the next() function is a commonly used function for moving an array pointer to the next element. 1. What is an array pointer? In PHP, an array is a very convenient data structure that can store a lot of ordered data. Each element in the array has a corresponding subscript, which can be used to access and modify the value of the element. In addition to accessing array elements through subscripts,

Golang function pointer array and array pointer application skills Golang function pointer array and array pointer application skills May 16, 2023 pm 04:00 PM

With the continuous development of the Golang language, function pointer arrays and array pointers have also become an important part of Golang programming. In this article, we will discuss the application skills of pointer arrays and array pointers in Golang functions, and provide you with some practical sample codes and related explanations. Basic concepts of Golang pointer array First, let us first understand Golang pointer array. An array of pointers is a data type that is an array of pointers to different variables or objects.

What is the difference between array pointer and array of pointers What is the difference between array pointer and array of pointers Sep 22, 2023 am 09:51 AM

The differences between array pointers and pointer arrays are: 1. The array pointer is a pointer, while the stored pointer array is an array; 2. The array pointer is declared int *p = arr;, while the pointer array is declared int *arr[ 5];; 3. Array pointers can access elements in the array in the form of p[i], while pointer arrays need to access elements in the array in the form of arr[i].

What is the difference between pointer array and array pointer What is the difference between pointer array and array pointer Jan 06, 2023 pm 04:50 PM

Difference: For a pointer array, first of all, it is an array, and the elements of the array are all pointers, which means that the array stores pointers. The number of bytes occupied by the array is determined by the array itself; for array pointers, first It is a pointer, it points to an array, that is to say, it is a pointer to the array, which always occupies 4 bytes in a 32-bit system. As for how many bytes the array it points to occupies, this cannot be determined, and it depends on the specific situation. .

How to use the reset function in PHP to move the array pointer back to the beginning of the array How to use the reset function in PHP to move the array pointer back to the beginning of the array Jun 26, 2023 pm 12:45 PM

In PHP, you can use the reset function to move the array pointer back to the beginning of the array. Before using the reset function, you need to know the concept of array pointers. The array pointer is an internal pointer that points to the array element currently being operated on. In PHP, you can use a foreach loop to traverse an array, or you can use a while loop and an array pointer to traverse an array. However, when using a while loop and an array pointer to traverse an array, you need to use the reset function to move the array pointer back to the beginning of the array. Use reset

What is the difference between pointer array and array pointer What is the difference between pointer array and array pointer Sep 04, 2023 pm 03:45 PM

Pointer array and array pointer are two different types of concepts, which are different in definition and use: 1. Pointer array is an array, each element of which is a pointer type, while array pointer is a pointer, which points to a The first address of the array; 2. The declaration method of the pointer array is "type *array[]", and the declaration method of the array pointer is "type (*ptr)[size]".

What is the difference between array pointer and array reference? What is the difference between array pointer and array reference? Jun 04, 2024 am 10:01 AM

There are following differences between array pointer and array reference: Dereference required: Array pointer needs to be dereferenced while array reference does not. Pointer arithmetic: Array pointers support pointer arithmetic, while array references do not. Address: The array pointer stores the address of the first element of the array, but the array reference is not an address. Constant kval: Array pointers can point to constkval, but array references cannot. Array size: Array pointers do not store the array size, whereas array references implicitly contain the array size.

See all articles