① C语言 point=(char*)i point为指针 i为长整形数据
(char*)i将i强制转换为字符类型,将值赋给point,赋值后输入指针的值为i的值(具体结果要看是以什么格式输入)
如果point为指针,这种赋值能通过编译,但没有实际意义。
② C语言指针定义
(1)指针变量定义的格式:
类型标识符 *变量名; 如:int *point;
注意:在定义int point;的时候 ,加粗部分的 不是取值符,而是修饰point是一个指针变量,如何确定point指向什么类型的变量呢,需要进行下一步:看非加粗部分,int则表示point指向int类型变量或保存int类型饥基变量的地址。
(2)指针变量的初始化,先来看个实例:
说明:
表示该变量的类型是一个指针变量,指针变量名是p1而不是 p1;
如果在同一洞宴行定义多个指针变量应该是:int *p1, *p2;而不是int p1, p2或者 int p1, p2;
给指针变量初始化有两种方式:
在定义时初始化,如int *p_2 = &b;
先定义再初始化,如int *p1; p1 = &a;
*p1是p1所指向的变量的值;
一个指针变量只能指向同一个类型的变量。
(3)对于指针变量的两个运算符烂颤谨“*”与“&”:
& 取地址运算符 //&a就代表a的地址(指的是a所在内存空间的起始地址)
③ 在C语言里,point有什么作用
一个普通的变量名,字面意思是"点"
可能用来做表示点的结构名,譬如
typedef struct point
{
int x;
int y;
}point;
④ C语言 point(char*pt); main() {char b[4]={'a','c','s','f'},*pt=b; pt=point(pt); printf("%c
就算函数调用成功,输出也为d,而不是a,数组下标是从0开始.
被调函数的计算结果在离开函数大括号后就已经不在了,
回到主函数的变量p并不是调用函数后的计算结果,p仍然是
数组b的首地址,所以输出是a.
char
*p;//定义全局变量
point(char
*c)
{
p=c+3;
}//全局变量返回计算结果
main()
{
char
b[4]={'a','b','c','d'};
p=b;//p为数组首地址
point(p
);//调用函数,地址加3
printf("%c\n
",
*p);//输出为b[3]
}
⑤ C语言中point结构体
估计是一个坐标的结构体,
首先, 这个结构包括两个部分, 分别为 x 坐标 和y 坐标.
接着, 有两个构造函数, 第一个为默认的构造函数;
第二个为可初始xy坐标的函数.
一般用在需要标注位置的程序上.
⑥ C语言,关于指针 (point) 的程序。拜托了。谢谢。
#include <stdio.h>
main( )
{
int a=10,b=100,c=1000; //调试:a(0x0012ff7c) b(0x0012ff78)
c(0x0012ff74) 整型在C++中占4位
可以看出a,b,c内存单元是连续的
int *p=&c; //这里p指向c的内存单元
for(int i=0;i<10;i++)
printf("%d,",*p++);//内存当中abc的存储顺序为c,b,c,..
printf("\n");
}
由于你将p指向了c,所以显示时将从c内存单元里的内容开始,依次向后移动4位,而a,b,c在内存中是相邻的,所以显示结果为c,b,a,......由于0x0012ff80地址以后的内存单元没有用到,里面是随机数,所以以后显示的数字将不确定