当前位置:首页 » 编程语言 » c语言数组指针初始化

c语言数组指针初始化

发布时间: 2022-02-24 05:25:54

⑴ 关于c语言: 初始化一个指向数组的指针变量为什么不需要&符号

C语言里面,数组名就是第一个元素的地址,所以可以直接把数组名赋值给一个指针,不需要取地址。

⑵ c语言中,声明一个指针数组,char *s[1024 ] ,但并没有对它初始化,那它里面的都是空指

空指针是要初始化为0或赋值为0的指针,没有初始化的话,它就是个随机地址。

⑶ C语言的char指针初始化理解

char 指针,也就是char *类型。 其初始化本质上与其它变量初始化没有什么区别,就是赋予其一个初始化的值。
对于指针来说,在C语言中,就是一个地址。区分初始化情况,有四种表象:
1 初始化为空。即
char * str = NULL;
的形式,NULL在C语言中是特定的空指针,其值为0.在C语言中,以NULL作为指针的一个未生效状态,其本身是一个非法的地址值。

2 初始化为常量字符串地址。
char * str = "test";
常量字符串在运行时会被放在常量空间中,于是这样初始化后,地址是常量空间中的一个地址,对于该地址只能读取,不可写入。即str的值可以改,但是str指向的值是不可修改的。

3 初始化为变量地址。
这里的变量地址,包括全局变量,局部变量的地址,以及通过动态分配申请到的内存地址。
这种情况下,对指针指向的空间是可以修改的。

4 不做初始化。
这种情况在C语言中是允许的。如果为全局变量或静态局部变量,系统默认初始化为0值,即NULL。而对于局部变量,将是一个随机值。所以如果是局部变量不做初始化,在取其指向空间值前,必须为其指定一个合法的值,否则访问会出错。

⑷ C指针数组的初始化

你的问题里“最为”是作为吧。
你可以这样,使用malloc这个函数,去向内存申请16X16
int类型那么大的空间出来。但是,这么申请完成一后,想往里写数据就不能使用数据下标的方法去写数据了,需要计算出int类型号的大小用手动的方法写入。还有一个malloc申请出来的空间是一个一维的空间,如果你想往2行2列里写就需要转换了。我只是给你了一个具体的方向,后面的事你就需要去自己想办法了。

⑸ c语言指针初始化

注意了,a只是一个双重指针,不是数组。还有new这个东西是C++中的。C中用malloc分配内存,再初始化。

⑹ C语言 如何初始化指针数组 比如char *dd[5]

char 指针,也就是char *类型。 其初始化本质上与其它变量初始化没有什么区别,就是赋予其一个初始化的值。
对于指针来说,在C语言中,就是一个地址。区分初始化情况,有四种表象:
1 初始化为空。即
char * str = NULL;
的形式,NULL在C语言中是特定的空指针,其值为0.在C语言中,以NULL作为指针的一个未生效状态,其本身是一个非法的地址值。
2 初始化为常量字符串地址。
char * str = "test";
常量字符串在运行时会被放在常量空间中,于是这样初始化后,地址是常量空间中的一个地址,对于该地址只能读取,不可写入。即str的值可以改,但是str指向的值是不可修改的。
3 初始化为变量地址。
这里的变量地址,包括全局变量,局部变量的地址,以及通过动态分配申请到的内存地址。
这种情况下,对指针指向的空间是可以修改的。
4 不做初始化。
这种情况在C语言中是允许的。如果为全局变量或静态局部变量,系统默认初始化为0值,即NULL。而对于局部变量,将是一个随机值。所以如果是局部变量不做初始化,在取其指向空间值前,必须为其指定一个合法的值,否则访问会出错。

⑺ C语言数组的初始化表示方法

不是inta[] 而是例如int a[10]这种。括号内一定要有个常量数字。

我们可以这样定义

#define N 5

int a[N]

这表明了数组名为a;数组有5个元素;分别是a[0]到a[4];

对于数组来说;数组是变量的集合,因此数组也具有与变量相同的数据类型和储存类型。数组的类型就是它所有的变量的类型。在定义数组时,应在数组名前对数组的类型加以确定。如上面的int a[10];则表明了数组内元素均为整形。

所有当表示浮点型可以定义为例如float a[10]。 举例如下:

(7)c语言数组指针初始化扩展阅读

数组名是由用户命名的C语言标识符,要遵循标识符命名规则。数组名表示数组存储区域的首地址。数组的首地址也就是第一个元素的地址。数组名是一个地址常量,不能对它赋值。

数组名后是由方括号括起来的常量表达式,不能使用其他括号

⑻ c语言 未初始化的指针与指针数组的问题

int* p 是定义了一个指针变量,变量没有初始化的话,是不可以引用的,但是定义指针数组时(把*去掉也可以的),就已经给这个数组分配了一个地址(p[0]的地址)和相应的内存(由类型和元素多少决定)。至于为什么地址一样,举个例子,你定义两个字符串指针,指针指向的是同一串字符,你会发现两个指针的地址也相同。应该能帮你解决一部分问题,地址一样的问题我也是半懂,抱歉。

⑼ c 语言中的数组指针可以被初始化为空指针吗

任何指针都可以初始化为空(NULL),如果指针是变量的话,还可以赋值为空。
比如:
int*
p0
=
NULL;
//
整型指针初始化为空
p0
=
NULL;
//
赋值为空
-------------------
void
(*p1)
(int)
=
NULL;
//
函数指针初始化为空
p1
=
NULL;
//
赋值为空
-----------------------
int
a[20];
//
数组
int
(*p2)[20]
=
&a;
//
数组指针初始化为数组地址
int
(*p3)[20]
=
NULL;
//
数组指针初始化为空
p2
=
NULL;
//
赋值为空
p3
=
NULL;
//
赋值为空

⑽ C语言 指针变量的初始化问题

变量的初始化就是在定义变量的时候,直接对变量进行赋值操作。初始化的方式一般有如下两种:1、直接对变量进行赋予常量数值进行初始化;2、通过同类型变量进行初始化。举例说明如下:// 以下属于第1种初始化方式int a1=5; // 整型变量的初始化int b1[]={1,2,3,4}; // 整型数组的初始化char str1[]="abcd"; // 字符数组的初始化// 以下属于第2种初始化方式int a2 = a1; // 整型变量的初始化int b2[4] = b1; // 整型数组的初始化char str2[4] = str1;// 字符数组的初始化char *p = str1; // 字符指针的初始化

热点内容
sw装配体怎么选择零件配置 发布:2025-01-09 23:13:17 浏览:209
如何进入华为的服务器 发布:2025-01-09 23:11:37 浏览:853
安卓日历每月提醒怎么设置 发布:2025-01-09 23:07:53 浏览:387
安卓手机qq怎么备份 发布:2025-01-09 23:07:12 浏览:958
kettle源码下载 发布:2025-01-09 23:01:36 浏览:733
casejava 发布:2025-01-09 22:56:56 浏览:699
oracle如何导出数据库 发布:2025-01-09 22:55:13 浏览:771
编程ppm 发布:2025-01-09 22:49:25 浏览:729
蒸汽之都侦探安卓按键在哪里 发布:2025-01-09 22:48:30 浏览:819
怎么修改域账号的配置文件 发布:2025-01-09 22:30:44 浏览:478