二维数组的指针表示-复高斯分布的数学基础理论

时间:2024-06-28 07:07:14
【文件属性】:

文件名称:二维数组的指针表示-复高斯分布的数学基础理论

文件大小:6.48MB

文件格式:PDF

更新时间:2024-06-28 07:07:14

嵌入式 Linux C

表 6.5 二维数组的指针表示 表 示 形 式 含 义 a 二维数组名,指向一维数组 a[0],即第 0 行首地址 a[0]、*(a+0)、*a 第 0 行第 0 列元素的首地址 a+1、&a[1] 第 1 行首地址 a[1]、*(a+1) 第 0 行第 0 列元素地址 a[1]+2、*(a+1)+2、&a[1][2] 第 1 行第 2 列元素地址 *(a[1]+2)、*(*(a+1)+2)、a[1][2] 第 1 行第 2 列元素的值 在实际使用时,通常使用到二维数组就足够了,更多维的处理会导致程序的可读性及维 护难度等增加,因此,建议尽量不要使用二维以上数组。 6.2.4 指针高级议题 1.指向字符串的指针 前面已经提到过,在 C 语言中并没有字符串这个数据类型,实际上,C 语言中的字符串 是通过字符数组的形式来实现的。由于 C 语言中指针和数组在很多情况下是可以相互替换使 用的,因此,指向字符串的指针也就相当于指向字符数组的首地址。 下例中就是读者熟知的字符串的数组表示形式: #include void main() { char string[] = "I love Embedded world!"; printf("%s\n",string); } 字符数组和其他类型的数组一样,可以在定义时赋初值,这里,使用字符串的复制方式 ——双括号。那么,若将其改为指针形式是怎么样的呢? #include void main() { char *string = "I love Embedded world!"; printf("%s\n",string); } 这就是指向字符串的指针。请读者一定要注意,这里并不是给指针 string 的内容赋初值, 而是给指针 string 本身赋初值,其初值为“I love Embedded world!”字符串的首地址。上述 定义语句实际上可以转化为以下两条语句:


网友评论