c语言中的数组和指针的分析。
在指针这里必须搞懂的几个指针:
数组指针,指针数组,函数指针(后续会陆续说到)
访问数据:1、根据变量名(简单)
2、根据指针(复杂的数据传地址)地址存放在指针变量中,简称指针
指针变量:
定义指针变量 int* pa char* pc=‘x’
指针变量是结合型的,必须与数据类型结合使用。
要想知道地址内的内容,就要*(解)
**********数组名代表数组的首地址**********
char arr[12]; 首地址:arr(0x80)
%s ----->得到字符串首地址即可
char arr[12]="hello world";
printf("arr=%s\n",arr);
char * pc="hello world!";//指针占4个字节(32位)存放的是字符串的首地址
printf("pc=%s\n",pc);
#include<stdio.h>
int main(){
char arr[12]="hello world";
char *p="hello world";
printf("%s,%p\n",arr,arr);
printf("%s,%p\n",p,p);
return 0;
}
运行结果:
hello world,0xbff5f550
hello world,0x8048590
在这段简单的程序中我们可以看出数组名可以作为数组元素的首地址,所以在调用数组时,只要得到数组的首地址,那么就可以很容易的得到数组的内容,后面打印的是
我们知道指针也是代表了变量的首地址,所以直接通过指针来表示首地址也是一样的。后面打印的是字符串的首地址。
这是c语言中比较重要的基础点,必须要掌握!