您的位置:

c语言指针的声明与初始化,c语言指针的定义及初始化

本文目录一览:

C语言中,声明变量和初始化变量有什么作用?

c语言中,变量只有先声明,才能使用,这样避免编程时产生不必要的错误,一位不同类型变量的存储格式和长度都不同,所以字节长度不同,声明变量可以让计算机知道你更需要用什么样的格式存储变量,从而高效稳定地运行程序。

C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

扩展资料:

C语言是面向过程的编程语言,用户只需要关注所被解决问题的本身,而不需要花费过多的精力去了解相关硬件,且针对不同的硬件环境,在用C语言实现相同功能时的代码基本一致,不需或仅需进行少量改动便可完成移植,这就意味着,对于一台计算机编写的C程序可以在另一台计算机上轻松地运行,从而极大的减少了程序移植的工作强度。

与其他高级语言相比,C语言可以生成高质量和高效率的目标代码,故通常应用于对代码质量和执行效率要求较高的嵌入式系统程序的编写。

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; // 字符指针的初始化

C语言指针的初始化!!!!

例如 int *pt 然后 *pt=5 这样说是不能对未初始化的指针取值!!还有 如果有指针 char* i; 不初始化直接用 *i="Hello"; 可以吗?

int *pt;/* pt是一个指向整数的指针,未初始化时,存储该指针的地址pt是随机的,可以用printf("%p",pt)来验证。 就是说,该指针可能指向任意地方,包括系统使用的内存区,虽说这不是你需要的。当*pt = 5时,就有 可能造成无法预料的结果。*/你可以在定义指针的时候直接初始化,语句如下int *pt = 5;同样,也可以这样这样写:char *i = "Hello";

c语言中字符指针声明后,没有做任何操作,系统是怎么初始化的?

静态指针默认初始化为0。其它指针如果没有初始化,初始值不确定,具体要看编译器的实现,不同的编译器有自己的实现方式,C标准并未明确指定初始值。

参见C99 6.7.8:

10 If an object that has automatic storage duration is not initialized explicitly, its value is

indeterminate. If an object that has static storage duration is not initialized explicitly,

then:

— if it has pointer type, it is initialized to a null pointer;

— if it has arithmetic type, it is initialized to (positive or unsigned) zero;

— if it is an aggregate, every member is initialized (recursively) according to these rules;

— if it is a union, the first named member is initialized (recursively) according to these

rules.