- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式技术与其应用—C程序设计2课件
嵌入式技术及其应用—C程序设计第二回;内容提要;基础知识之二—指针;;与*运算符
含义;直接访问与间接访问
直接访问:按变量地址存取变量值
间接访问:通过存放变量地址的变量去访问变量;指针变量;指针变量与其所指向的变量之间的关系;指针变量的初始化
一般形式:[存储类型] 数据类型 *指针名=初始地址值;;例 main( )
{ int i=10;
int *p;
*p=i;
printf(“%d”,*p);
};零指针与空类型指针
零指针:(空指针)
定义:指针变量值为零
表示: int * p=0; ;例 指针的概念;指针变量作为函数参数——地址传递
特点:共享内存,“双向”传递;指针变量作为函数参数——地址传递
特点:共享内存,“双向”传递; 指针与数组
指向数组元素的指针变量;数组元素表示方法;例 int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,i;
数组元素地址的正确表示:(A)(a+1) (B)a++ (C)p (D)p[i];例 void main()
{ int a []={5,8,7,6,2,7,3};
int y,*p=a[1];
y=(*--p)++;
printf(“%d ”,y);
printf(“%d”,a[0]);
} ;基础知识之二—结构体;基础知识之二—结构体;基础知识之二—结构体;基础知识之二—结构体;基础知识之二—枚举;基础知识之二—联合体;基础知识之二—程序的内存空间 ;;基础知识之二—程序的内存空间;基础知识之二—程序的内存空间;;例
int a = 0; //全局初始化区 char *p1; //全局未初始化区 main() { ????int b; //栈 ????char s[] = “abc”; //栈 ????char *p2; //栈 ????char *p3 = “123456”; //123456\0在常量区,p3在栈上。 ????static int c = 0; //全局(静态)初始化区 ????p1 = (char *)malloc(10); ????p2 = (char *)malloc(20); ?? ?? //分配得来得10和20字节的区域在堆区????strcpy(p1, “123456”); ???? //123456\0放在常量区,编译器可能会将
//它与p3所指向的“123456”优化成一块
};基础知识之二—程序的内存空间;
文档评论(0)