首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言指针和数组学识总结(上)

2013-09-13 
C语言指针和数组知识总结(上)C语言指针和数组知识总结(上)一、指针的基础1.C语言中,变量的能够通过指针来改

C语言指针和数组知识总结(上)
C语言指针和数组知识总结(上)


一、指针的基础


1.C语言中,变量的值能够通过指针来改变,打印指针的语句符号可以是:  %08x 


2.指针的本质
指针的本质就是变量,那么既然是变量,那么一定会分配地址.只不过指针里面保存的是地址.


3.传递地址和传递值的区别


函数传参数只是一个赋值/拷贝的作用,所以在函数值传递和地址传递有如下区别:


值传递不能改变函数体外部的变量,地址传递可以改变函数体外部的变量.


4.那么什么场合需要用到地址传递呢?


注意两点: 
第一个是实现对函数体外部的变量进行修改
第二个是复杂函数数据类型传递的时候(极大的提高了C语言的执行效率)


5. #define led(m) m?(n = 1):(n = 0)


6.注意const的用法


int const* p 和 int *const p的区别


二、数组的基础


1.数组是相同类型变量的有序集合.
2.数组名代表数组首元素的地址.
3.数组的地址需要用取址符号才能够取到.
4.数组首元素的地址值和数组的地址值是一样的.
5.数组首元素的地址和数组的地址是两个不同的概念.


6.数组和指针一个非常重要的区别


#include <stdio.h>#include <assert.h>int strlen(char *s){  return (assert(s),(*s ? (strlen(s+1)+1):0));}int main(){    printf("%d\n", strlen( "ddwed"));     return 0; }


热点排行