Ⅰ c语言中指针到底有几种类型啊
枚举和指针类型都不是基本数据类型C语言有五种基本数据类型:字符、整型、单精度实型、双精度实型和空类型。
尽管这几种类型数据的长度和范围随处理器的类型和C语言编译程序的实现而异,但以bit为例,整数与CPU字长相等,一个字符通常为一个字节,浮点值的确切格式则根据实现而定C语言还提供了几种聚合类型(aggregate types)。
包括数组、指针、结构、共用体(联合)、位域和枚举除v o i d类型外,基本类型的前面可以有各种修饰符。
修饰符用来改变基本类型的意义,以便更准确地适应各种情况的需求。
(1)指针c语言系列扩展阅读:
特有特点
C语言普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,因此相对于其它编程语言,它具有自己独特的特点。具体体现在以下三个方面:
其一,广泛性。C 语言的运算范围的大小直接决定了其优劣性。C 语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。
此外,C 语言包含了字符型、指针型等多种数据结构形式,因此,更为庞大的数据结构运算它也可以应付。
其二,简洁性。9 类控制语句和32个KEYWORDS是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的操作,提高其工作效率,同 时还能够支持高级编程,避免了语言切换的繁琐。
其三,结构完善。C语言是一种结构化语言,它可以通过组建模块单位的形式实现模块化的应用程序,在系统描述方面具有显着优势,同时这一特性也使得它能够适应多种不同的编程要求,且执行效率高。
Ⅱ C语言中的指针是什么意思
其实与其你在这里问,还不如看一看c语言教科书,上面写的都很详细
以下是谭浩强版的
在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等,在前面已有详细的介绍。为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。
既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。
内存单元的指针和内存单元的内容是两个不同的概念。
可以用一个通俗的例子来说明它们之间的关系。我们到银行去存取款时,
银行工作人员将根据我们的帐号去找我们的存款单,
找到之后在存单上写入存款、取款的金额。在这里,帐号就是存单的指针,
存款数是存单的内容。对于一个内存单元来说,单元的地址即为指针,其中存放的数据才是该单元的内容。在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针。
严格地说,一个指针是一个地址,是一个常量。而一个指针变量却可以被赋予不同的指针值,是变量。但常把指针变量简称为指针。为了避免混淆,我们中约定:“指针”是指地址,是常量,“指针变量”是指取值为地址的变量。定义指针的目的是为了通过指针去访问内存单元。
既然指针变量的值是一个地址,那么这个地址不仅可以是变量的地址,也可以是其它数据结构的地址。在一个指针变量中存放一个数组或一个函数的首地址有何意义呢?
因为数组或函数都是连续存放的。通过访问指针变量取得了数组或函数的首地址,也就找到了该数组或函数。这样一来,凡是出现数组,函数的地方都可以用一个指针变量来表示,只要该指针变量中赋予数组或函数的首地址即可。这样做,将会使程序的概念十分清楚,程序本身也精练,高效。在C语言中,一种数据类型或数据结构往往都占有一组连续的内存单元。
用“地址”这个概念并不能很好地描述一种数据类型或数据结构,而“指针”虽然实际上也是一个地址,但它却是一个数据结构的首地址,它是“指向”一个数据结构的,因而概念更为清楚,表示更为明确。
这也是引入“指针”概念的一个重要原因。
Ⅲ C语言指针概念~
首先指针本身也是一个变量,也是有内容的,这个内存肯定一个整数,对应你电脑的内存,内存在C语言的系统中是编号的
比如如果一个指针的值是1024,那就说明他指向了内存中这个第1024字节的地方,指向这个词语只是抽象意义的,作为一个变量,它的内容(值)就是1024,但是你就要理解为指向
变量是存在内存里面的,如果一个变量存在第1024字节的地方,前面那个指针的值是1024,这样那个指针就“指向”这个变量了。
变量是实体存在在某一个位置,指针就是这个位置的编号。这样就能理解了吧
至于前面那个指针是存在哪里的?
答案肯定也是在内存中,但反正不是1024
Ⅳ C语言中指针的概念和用法
1.记住一些关键字
2.熟练使用输入输出
3.学好数组和指针
指针就是内存地址,记住这点很有帮助
Ⅳ C语言指针基本概念及其指针变量的定义是什么
指针是常见间接访问方式.指针就像一个快捷方式,它指向内存的一个地址,可以通过指针就可以间接的访问到数据。对于计算机,访问内存的方式有两种,直接访问和间接访问。直接访问通过就是通过变量名称去访问。指针概念是构成C/C++的重要元素之一,是变量的一种类型,存放的是指定类型数据的地址,而同类型变量存放的是数据。
指针变量:就是一个变量,其值是可变的,与整形变量、浮点变量等等的命名规则完全相同。 “指针”是概念,“指针变量”是具体实现。指针类型说明,即定义变量为一个指针变量; 指针变量名; 变量值(指针)所指向的变量的数据类型。
(5)指针c语言系列扩展阅读:
与其他高级编程语言相比,C 语言可以更高效地对计算机硬件进行操作,而计算机硬件的操作指令,在很大程度上依赖于地址。指针提供了对地址操作的一种方法,因此,使用指针可使得 C 语言能够更高效地实现对计算机底层硬件的操作。另外,通过指针可以更便捷地操作数组。在一定意义上可以说,指针是 C 语言的精髓。
Ⅵ C语言指针解释
①* p++——取p指向的目标值4,并将p+1使其指向5,在表达式运算后++生效。
②(*p)++——(不计①的结果)将p指向的目标值4加1使其为5,在表达式运算后++生效。
③*( p++)——这与①完全一样。
⑤++* p——取p指向的目标值4并增1生效后参与表达式运算。
⑥*++ p——将指针p增1移到指向下一元素并取得,即5。
Ⅶ c语言指针用法
1、使用场景
使用指针时,必须将它指向一个变量的地址或者为它分配空间方能使用,如下所示:
#include<stdio.h>
#include <stdlib.h>
int main(int argc, char const *argv[])
{
int a[5]={0,1,2,3,4};
int *b,*d;
int c=2;
int *e=a; //e指向a数组首地址
//*b=2; 无法直接初始化
//printf("%d ", *b);
e=e+2; //移动两个地址单元
d=&c; //d指向c的地址来表示值
c=4; //修改原c变量的值,d指针的值会发生改变
b=(int *)malloc(sizeof(int));//为b分配一个int型空间来直接存储值
*b=2;//分配空间后可以直接赋值了
printf("this is e,b,c,d :%d %d %d %d ",*e,*b,c,*d);
2、类型说明
(1)int *a :表示一个指向int型变量的指针,指向的是变量的地址单元
(2)char *b:表示一个指向char变量的指针
*a表示的是这个指针指向地址的值,a为此指针本身的地址,这点要明确,一般用*(a+1)、*(a+2)来表示值,如:
int nums[5]={0,1,2,3,4};
int *a=nums;
printf("%d %d %p ",*a,*(a+1),a);
(7)指针c语言系列扩展阅读:
指针的运算
指针指向变量地址,若原变量的内容发生了变化,它本身也会发生变化,指针之间的运算一般为值运算和地址运算
(1)值运算:直接通过*运算方式,像a+*(a+1),结果为第一个元素与第二个元素相加。
int nums[5]={0,1,2,3,4};
int *a=nums;
(2)地址运算:通过a+i的方式.指针会指向a的下i个地址。
int nums[5]={0,1,2,3,4};
int *a=nums;
a=a+2;
printf("%d ",*a);
结果输出2。
参考资料来源 :指针-网络
Ⅷ C语言中指针是什么
我们都知道:C语言中的数组是指 一类 类型,数组具体区分为 int 类型数组,double类型数组,char数组 等等。同样指针 这个概念也泛指 一类
数据类型,int指针类型,double指针类型,char指针类型等等。
通常,我们用int类型保存一些整型的数据,如 int num = 97 , 我们也会用char来存储字符: char ch = 'a'。
我们也必须知道:任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。
因此:指针是程序数据在内存中的地址,而指针变量是用来保存这些地址的变量。