指针 指针与数组 指针与字符串 指针与函数?? 指针与数组 1.数组名:数组元素首地址 eg: int array[3]={1,3,6}; 这里array 恒等于&array[0] 2.int *p = a; int *p = 0; int a[]={0}; 3.int *p = a; 均指向数组的首地址 *p是? *(p+1)是?(*p)+1是? *(p+1)决定向下移动几个字节是类型 4.指针可以当数组名使用 p[1] = 3; 恒等于a[1] ;恒等于*(p+1);恒等于*(a+1) 5.
引例:已知如下程序 1 #include <stdio.h> 2 main() 3 { 4 int x[3][4] = {1,3,5,7,9,11,2,4,6,8,10,12} ; 5 int (*p)[4] = x, k = 1, m, n = 0; 6 for(m=0; m < 2; m++) 7 n += *(*(p+m)+k); 8 printf("%d\n",n); 9 } 试写出程序的输出值.(虽然我很讨厌做这种笔头功夫的题,我也坚信编程语言是在实践中练出
数组 一维数组:数据类型 数组名 [常量表达式] 注意: 命名规则和变量名相同 数组后面一定是[],方括号内 是常量表达式 常量表达式表达元素的个数,即数组的长度 定义数组的常量表达式不能是变量 引用: 一维数组引用的一般形式:数组名[下标] 数组元素的下标起始值为0 初始化: 单个元素逐一赋值 a[10]=1;a[9]=100;...... 聚合方式赋值 int a[10]={1,2,.....10} ; int a[]={1,2,.....10} ; int a[10]={1,
补充第一点://定义字符串数组 //定义字符串数组 #include <stdio.h> int main(int argc, char *argv[]) { int ages[5];//整型数组 char *name[5]://指针数组 char *name[5]={"jack","rose"};//字符串数组 ////////////////////////////////////////////// char name2[2][10]={ &quo
指向一维数组的指针 char (*p)[10] ;指向一维数组的指针类型 typedef char(*TYPE_P2ARRAY)[10] ; 该指针可以指向数组 ,且使用起来效果节本相同,但指针与数组并不等价.{sizeof结果不同 , 且该指针还可以指向除此之外其他类型的数据. } #include <stdio.h> typedef int (*TP_PARRY1)[3] ; #define Uart_Printf printf void f1(void) { int a[2
1 #include <iostream> 2 3 using namespace std; 4 5 6 int main() 7 { 8 int v[2][2]={{1,2},{3,4}}; 9 cout<<"v = "<<v<<endl; 10 cout<<"*v = "<<*v<<" &v = "<<&v<<endl;
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [数组指针] 1.数组指针: 定义一个指针指向数组的某一个元素 数组元素指针:指针变量可以指向数组元素: 1)数组名a不代表整个数组,只代表数组首元素的地址: 2)是指向首地址,而不是每一个元素: 2.数组指针的引用: 在指针向数组元素时,允许以下操作 加一个整数(用+或+=),如p+1: 减一个整数(用-或-=),如p-1: 自加P++ 自减p--; 两个指针相减:p1-p2: P+1指向
很容易混淆的概念其实并不难理解 1,指针数组: 看字面意思就知道这一定是一个数组,里面的原酸全部是指针 例如,定义一个简单的指针数组 char *p[10]; //这就是一个包含十个字符指针的数组. 例: #include<stdio.h>int main(){ char *p[7]; char arr[] = "abcdef"; int i = 0; for (i = 0; i < 7; i++) { p[i] = arr; } printf("%
指针就是指针,指针变量在 32位系统下,永远占 4 个byte ,其值为某一个内存的地址.指针可以指向任何地方,但是不是任何地方你都能通过这个指针变量访问到. 数组就是数组,其大小与元素的类型和个数有关.定义数组时必须指定其元素的类型和个数.数组可以存任何类型的数据,但不能存函数. 说起指针,就让我们想到数组.而数组和指针也是有区别的.指针,指的是描述一个变量的地址:我们可通过指针的偏移来指向下一个地址.数组,是描述相同元素的一个集合:数组名是常量地址,不可自加不可修改. 我们可以通过数组的下
恩,有的编译器初始化时候会产生这样的参数 argc是命令行总的参数个数,argv[]是argc个参数,其中第0个参数是程序的全名 1. 几种C++ 常见的参数种类 int main(void); int main(); int main(int argc, char **argv); //等价于int main(int argc, char *argv[]),是否等价呢?是不是前一个可以表示任意长度的任意个数组,后一个只是定长的任意个数的数组?见下面 int main(int argc, c