在C语言中"char *p"占用多少内存空间
这个需要看编译器的设置,VC、Dev C、VisualStudio等大部分编译器的默认都是char占一个字节(Byte)。在C和C 中可用函数sizeof(char)求出char的字节数。
char 1个字节
16位编译器
32位编译器
64位编译器
拓展资料C语言中的char数据类型
C语言中的char数据类型是一种整数类型(integer type),它的大小被定义为1个Byte。
亦即sizeof (char) ≡ 1
在C语言中指针是一个unsigned 类型的无符号数,其所占内存字节一般是和计算机的CPU字长是一致的,拿32位计算机来说,指针所占的内存空间一般为4个字节,不管char *还是int *抑或是float *,都是4个字节。
程序员可以使用sizeof运算符获取数据类型或者某个变量的内存所占字节数。比如
printf("%d%d%d
", sizeof(char *), sizeof(int *), sizeof(float *));
char *p;
算做一个数组 char p[];
数组最末尾都加'\0'作结束!而'\0'也占一个字节!
在加本身一个,所以就两个了!
补充:跟机器位数无任何关系!我自己测过的!
char *p是一个int型,指向的是char型,一个byte,本身是占4个byte.
如果是32位机器,那么p占用4个字节
如果是是16位机器,就是占用2个字节
这主要是根据机器的硬件判断的
用sizeof()函数检测一下就行了。
例如:
#include<stdio.h>
void main()
{
char c = 'a';
char *p = &c;
printf("%d\n",sizeof(p));
}
运行以后就能看到结果。
c语言中char*代表什么?
在C语言中“char*”是声明一个字符类型的指针,定义数据类型,char可以定义字符有变量、数组、指针。例如:char *string="I love C#!"定义了一个字符指针变量string,用字符串常量"I love C#!",对它进行初始化。对字符指针变量初始化,实际上就是把字符串第1个元素的地址(即存放字符串的字符数组...
c语言中char*是什么意思?
char* 是C语言中用于声明字符类型指针的关键字。例如,当我们写出 chat* y;这样的声明时,我们就定义了一个名为y的指针变量,该变量可以指向内存中存储字符数据的位置。字符指针的使用在处理字符串时尤为常见,因为字符串在C语言中是以字符数组形式存储的,而通过指针可以方便地访问这些数组中的元素。在...
为什么char的值是0而char*就是1?
c语言中,char* 代表 字符指针类型,它是指向一个地址。char是一种基本数据类型,用于表示单个字符。它占用一个字节的内存空间,可以存储ASCII码对应的字符。例如,char ch = 'A';表示将字符’A’赋值给变量ch。char*是指向字符的指针类型,也称为字符串指针。它实际上是存储了字符数组的首地址。例...
char*是什么意思?
1 c语言中,char* 代表 字符指针类型,当其指向一个字符串的第一个元素时,它就可以代表这个字符串了 2 示例 include<stdio.h>int main(){char* str = "learn c";printf("%s\\n", str);getchar();return 0;}\/*运行结果是learn c*\/3 分析 在char *str="learn c";中,"learn c"是长...
c语言中char*是什么意思?
c语言中,char* 表示字符指针类型,当其指向一个字符串的第一个元素时,就可以表示这个字符串。C语言广泛应用于底层开发,C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
C语言:char * =”abcdef”; char a[]=”abcdef”; 编译之前的区别
char * a = "abcdef";表示的是:a是一个字符串指针,指向的是一个字符串常量"abcdef",所以如果用*a =‘x’这样的重新赋值是不允许的(也就是修改字符串常量"abcdef"是不允许的)。用a=这样的赋值是可以的,也就是a指向了另外的地址。char a[] = "abcdef";表示的是:a是一个字符型...
"char*"是什么意思?
1、详细解释:在程序中,(char*) 表示强制转换。可以通过取地址,然后再把访问方式强制转化为char * 的形式,这样就可以通过char *的形式读取里面的数据。2、另一种解释:在 c语言中,char* 代表 字符指针类型,当其指向一个字符串的第一个元素时,它就可以代表这个字符串了。3、示例 include<stdio...
char*指的是什么意思?!
在C语言中“char*”是声明一个字符类型的指针,定义数据类型,char可以定义字符有变量、数组、指针。例如:char *string="I love C#!"定义了一个字符指针变量string,用字符串常量"I love C#!",对它进行初始化。对字符指针变量初始化,实际上就是把字符串第1个元素的地址(即存放字符串的字符数组...
c语言中char * *是什么意思
char 定义字符类型 只能定义一个字符 加单引号 char* 定义字符串 可以定义多个字符 加双引号 求采纳
c语言中char * *是什么意思呀
char *字符型指针,指向一个字符;char ** 指向字符型指针的指针;char**最常使用在main函数中:int main(int argc,char** argv);等同于 int main(int argc,char * argv[])等同于int main(int argc,string argv)(C语言中并不直接包含字符串类型,此处便于理解,所以使用string类型)...