search
HomeBackend DevelopmentC#.Net TutorialHow to define array in C language?

How to define array in C language?

Apr 30, 2019 pm 12:40 PM
c languagearray

C语言的学习中,数组可以算是基础中比较重要的内容了,也是时常会被使用到的。下面本篇文章就来给大家介绍一下c语言中数组要如何定义,希望对大家有所帮助。

How to define array in C language?

在C语言中,数组分为一维和二维

1、一维数组

定义公式:类型说明符 数组名[常量表达式];    

注意:常量表达式包括常量与符号常量,不能包含变量。

例如:

int a[5];
char c[3];

上面的示例中,定义了一个int整型数组,数组名为a,定义的数组称为数组 a。还定义了一个字符类型的数组,数组名为c,定义的数组称为数组 c。

此时数组 a 中有 5 个元素,每个元素都是 int 型变量;数组c中有 3 个元素,每个元素都是 char 型变量。

说明:数组名除了表示该数组之外,还表示该数组的首地址。数组中的元素在内存中的地址是连续分配的。

下面我们来看看C语言定义和初始化一维数组的几种形式:

示例1:整型数组的定义和初始化

int a[5] = {1, 2, 3, 4, 5};
int arr[] = {1,2,4};
int arr[10] = {1,2};

示例2:字符数组的定义和初始化

char str1[5]=“hello”;   //定义数组长度:30
char str1[30] = { 'L', 'e', 't', '\'', 's',' ', 'g', 'o', '\0' };  // 字符串长度:8;数组长度:30
char str1[30] = "Let's go";   // 字符串长度:8;数组长度:30
char str2[] = " to London!";    // 字符串长度:11 (注意开头的空格);数组长度:12

2、二维数组

定义公式:类型说明符 数组名[常量表达式][常量表达式];

例如:

int a[3][4];
char c[3][10];

上面的示例中,定义了一个3行4列的二维整型数组a和一个3行10列的二维字符数组c。

注:在定义二维数组时,可以不指定行(第一维)的长度,只指定列(第二维)的长度。第二维长度的长度不可省略。

下面我们来看看C语言定义和初始化二维数组的几种形式:

示例1:二维整型数组的定义和初始化

int a[1][3]={};
int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int a[][4]={{0,0,3},{},{}0,10}};

示例2:二维字符数组的定义和初始化

char c[5][5]={{'a','s','d',},{'a','s','d','c'},{'a','s','d','c','f'},{'s','d','c','f'},{'d','c','f'}};
char c[5][5]={"hgbv","jhg","jhgf","iuh","jjhs"};
char c[][5]={"ssdf","adfv"};

相关视频教程推荐:《C语言教程

The above is the detailed content of How to define array in C language?. For more information, please follow other related articles on the PHP Chinese website!

Statement
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
How to check if a file exists in C#?How to check if a file exists in C#?Jul 24, 2025 am 01:43 AM

The most direct way to check whether the file exists in C# is to use the System.IO.File.Exists() method. This method returns a Boolean value, true if the file exists, otherwise false. The specific steps are as follows: 1. Introduce the System.IO namespace; 2. Provide the correct file path. It is recommended to use verbatim string or Path.GetFullPath() to avoid format problems; 3. Call File.Exists() for checking. Note: This method does not check the directory, may return false due to invalid permissions or paths, and cannot explicitly report an error, so it can be combined with try-catch to handle exceptions. In addition, in different operating systems

How to execute a raw SQL query with Dapper in C#?How to execute a raw SQL query with Dapper in C#?Jul 24, 2025 am 01:25 AM

To use Dapper to execute raw SQL queries, 1. Use Query method for SELECT statements and pass in parameters; 2. Use Execute method for INSERT, UPDATE, and DELETE; 3. Use QueryMultiple to process multiple result sets; 4. Avoid splicing of SQL strings to prevent injection vulnerabilities. For example: use connection.Query(sql,new{Role="Admin"}) to execute the query, use connection.Execute(sql,new{Name="John",Id=1}) to modify the data, use Query

What is a WeakReference in C#?What is a WeakReference in C#?Jul 24, 2025 am 12:59 AM

YoushoulduseWeakReferenceinC#whenyouwanttoreferenceanobjectwithoutpreventingitsgarbagecollection,especiallyforcaching,avoidingmemoryleaks,andmanagingeventlisteners.1.Itallowsyoutotracklarge,expensive-to-recreateobjectsincacheswithoutkeepingthemalive.

How to convert a string to an integer in C#?How to convert a string to an integer in C#?Jul 24, 2025 am 12:30 AM

There are two ways to convert a string to an integer in C#: int.TryParse() and Convert.ToInt32(). The former is suitable for situations where a string contains a valid integer, and the latter is suitable for situations where a string is a valid number. 1. Use int.TryParse() to safely parse strings to avoid exceptions, and are suitable for processing user input, and its return value can determine whether the conversion is successful; 2. Convert.ToInt32() is suitable for processing data with known correct format, and an exception will be thrown if the string is invalid; 3. Pay attention to whitespace characters, empty strings and localized format issues when converting. If necessary, specify NumberStyles and IFormat.

Differences Between Delegates and Events in C#Differences Between Delegates and Events in C#Jul 23, 2025 am 02:48 AM

In C#, the main difference between delegates and events is in purpose and access control. 1. Delegates are type-safe function pointers used to reference methods and indirectly call them, suitable for callback mechanisms, asynchronous programming and policy patterns; 2. Events are based on delegates, providing additional access restrictions, allowing subscriptions and unsubscribes but prohibiting external direct calls or reassignments, suitable for publish-subscribe models and GUI programming; 3. Using events rather than public delegates can prevent external code from arbitrarily modifying or triggering the delegate list, enhancing encapsulation and security; 4. Delegations are suitable for scenarios where methods are required, while events are more suitable for public API designs that require multiple subscribers to respond and control calls.

Best Practices for Writing High-Performance C# CodeBest Practices for Writing High-Performance C# CodeJul 23, 2025 am 01:38 AM

To write high-performance C# code, the core is to understand language features and make rational use of resources. 1. Use structures instead of classes when appropriate to reduce garbage collection pressure, and is suitable for objects with small data volumes and short life cycles. 2. Avoid frequent memory allocation, especially in loops. It is recommended to use StringBuilder, Span and pre-allocated collection capacity to reduce heap allocation. 3. Use asynchronous programming to optimize I/O operations, use async/await to avoid thread blocking, and use ConfigureAwait(false) reasonably to reduce context switching overhead. 4. Use inline functions and Span operations for performance-sensitive code paths to improve execution efficiency and reduce unnecessary copies. These

Developing Cross-Platform Applications with C# .NET MAUIDeveloping Cross-Platform Applications with C# .NET MAUIJul 23, 2025 am 01:20 AM

C#.NETMAUI is a cross-platform application development framework that unifies desktop and mobile platforms. Compared with Xamarin.Forms, MAUI expands to support native application development of Windows, macOS, Android and iOS, and is suitable for developers familiar with the C# and .NET ecosystems. The project structure includes platform-specific directories and shared code layers for easy customization and reuse. Before development, you need to install VisualStudio or VSCode and enable MAUI workloads. It is recommended to use the command line dotnetworkloadinstallmaui to ensure the complete components. The interface is defined using XAML, it is recommended to combine Grid and StackLayout layout, and use On

How to create a NuGet package from a C# project?How to create a NuGet package from a C# project?Jul 23, 2025 am 01:13 AM

The key to creating a NuGet package is to understand the process and configuration details. The main steps are as follows: 1. Make sure that the project is a .NETStandard or .NETCore/.NET5 class library project, and add metadata (such as version number, author, etc.) in the .csproj file; 2. Use the dotnetCLI command line tool to package, run dotnetpack-cRelease to generate the .nupkg file, or automatically generate the package when you build the project through the VisualStudio graphical interface; 3. Optionally, use the dotnetnugetpush command to publish the package to NuGet.org, and register it.

See all articles

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

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.

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

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment