
* pointer1 //该指针指向从该地址开始一个1字节的内容
short int* pointer2; //该指针指向从该地址开始一个2字节的内容
long int* pointer3; //该指针指向从该地址开始一个4字节的内容
long long int* ponter4; //该指针指向从该地址开始一个8字节的内容
pointer1++ 使其对应内存地址移动一个字节
pointer2++ 使其对应内存地址移动两个字节
pointer3++ 使其对应内存地址移动三个字节
pointer4++ 使其对应内存地址移动四个字节
typedef void(*FUNC)(void); //定义函数指针类型FUNC
你是想输入文字吧?指针地址都是由操作系统分配的,不可以自己随意制定。先用malloc函数分配一个足够大的内存空间,然后用scanf函数输入内容,不用这些空间后最好用free函数释放。部分代码#include /* 使用malloc和free函数需要这个头文件 */char *a[3];a[0]=(char *)malloc(100); /* 算上结尾的\0,不超过100个字符 */scanf("%s", a[0]);free(a[0]); /* 使用解释后释放 */C语言教材讲指针的部分有讲解。
c语言可以将数组的地址赋值给指针,主要是因为数组名本身就是一个指针常量,代表了数组的首地址。具体解释如下:1. 在C语言中,数组名相当于指向数组首元素的指针。当我们使用数组名进行赋值操作时,实际上是将数组首元素的地址赋给了指针变量。这是因为数组在内存中是连续存储的,数组名指向的是数组的首地址。2. 指针变量可以存储任何地址。由于数组名本质上就是一个指针常量,因此可以将数组名赋值给其他指针变量,将数组的首地址传递给这些指针变量。这样可以通过指针变量来操作数组的元素。3. 通过将数组地址赋值给指针,我们可以通过指针对数组进行遍历、访问和修改操作,实现对数组的灵活处理。综上所述,c语言可以将数组的地址赋值给指针是因为数组名本身就是指针常量,代表了数组的首地址,这样可以通过指针来操作和处理数组。
②由数组名计算地址
③用指针变量指向数组元素