首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

入门C语言中的数组,字符串常量与指针

数组

数组声明为 数据类型 名称[ constant-size ],并将一个数据类型的一个或多个实例分组到一个可寻址的位置,constant-size可能是一个表达式,但是该表达式必须求值为常量,例如: #define MAX_SIZE 16 ... int list [MAX_SIZE + 1];

C数组开始于元素0,所以像阵列定义 int a[3];将创建三个int元件,可寻址如a[0],a[1],和a[2]请注意,即使定义很难说a[3],也没有名为a[3]

与其他变量一样,全局和静态数组元素默认情况下初始化为0,并且自动数组元素填充有垃圾值

可以使用大括号中的一个或多个值来初始化数组,例如int a[3] = ;ANSI C之前的编译器可能不允许在自动数组上进行初始化

如果存在初始化值列表,但未 指定常量大小,则数组的大小与初始化值的数目相同int q[] = ; 是相同的。int q[3] = ;

要声明对另一个文件中定义的数组的外部引用,请使用extern int a[];

字符串常量

在C语言中,类型数组char用于表示字符串,字符串的结尾由设置为0的字节标记(也称为NUL字符)

以下定义都将其数组设置为相同的值: int str1 [] = {'a','b','c','\ 0'}; int str2 [] =“ abc”;

ANSI C还允许定义像int str[3] = "abc"; ,即是相同的int str[3] = {'a', 'b', 'c'}; (省略了最终NUL字符)

指针

指针是包含变量地址的变量

有两个与指针关联的运算符:该&操作符返回其参数的地址、*取消引用它的参数通过指针访问对象指针

指针的一个简单示例是: int i,j; int * p; / *指向'int'的指针* / i= 6; p =&i; / *将`p'设置为`i'的地址* / j = * p; / *将'j'设置为6('i'的值)* / * p = 5; / *将'i'设置为5 * /

指针可以包含一个地址或一个称为空指针的特殊值,该 值不同于所有有效指针指针上下文中的0将在编译时转换为空指针还有一个预处理器宏NULL(在或定义 )像expression这样的表达式将导致语句是否为空指针,因此代码将与空指针 进行隐式比较if (!ptr) statementptrif (ptr)if (ptr == 0)0ptr。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201202A07SUA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券