1,指针变量用于保存数据的地址,数组用于直接保存数据(当然你可能见过,数组的每个元素是指针,不过,一组指针也是数据,它们各自的内容才是地址)2,访问方式:指针是间接访问,首先取得指针的内容作为地址,再去该地址访问数据;数组是直接访问,数组名即是地址 3,指针通常用于动态数据;数组通常用于固定...
#include <stdio.h>//指针和数组都是复合类型, 他们从基本类型//或者自定义类型派生.intmain(void) {//当定义指针变量p 时, int * --> 这里的 *//不是运算符, 而是 类型定义说明符.//定义了一个变量p//p 是 int * 类型. p 指向 int 类型.int*p =NULL;inta =8;//此时, p 指向 ap = &a;...
字符串数组是用来存放字符串的数组,在内存中占一段连续的单元。所占内存存放的是字符串。定义方法为:char a[N];N为常量表达式,可初始化。字符指针是指向字符的指针,所占内存单元存放的是所指字符的内存单元。定义方法为:char p;完整的解答:1)字符数组由若干个元素组成,每个元素中放一个字符,...
三、类型上的区别sizeof:适用于所有数据类型,包括基本类型、数组、结构体、类等。strlen:仅适用于以 '\0' 结尾的 C 风格字符串(char 数组或 char 指针)。sizeof 适用于所有数据类型,而 strlen 仅适用于 C 风格字符串。了解这些差异有助于选择正确的工具处理不同的数据类型。四、计算时的行为sizeof:在编译时...
a[5][6]你会发现,a, *a, &a的值是相同的,介意义完全不同 首先这个数组是5行6列, 首先要明白a是一个地址,而且是第一列的地址 a+1是第二列的地址,a+2是第三列的地址...a是第一列第一个元素的地址,*a+1第一列第二个元素的地址...&a是整个二维数组的地址,&a+1是内存中紧跟...