C语言之指针学习笔记
2018-01-16 18:12
246 查看
1、什么是指针?
存放地址的变量叫指针。
2、为什么要定义指针类型?
不同类型的指针的大小不同,定义指针类型是为了使系统知道该指针指向的内容占用多少字节。
3、指针包含两个方面:起始地址编号和存储类型(长度)
4、数组传参的两种等价形式
fun(int arr[]) 和 fun(int *arr) 都表示函数的参数类型为int arr[]。(有人说int arr[]和int *arr不能混为一谈,这里不做论述,只需要知道对于初学者来说编译能通过,能帮助理解就足够了)
例题:将数组a中n个整数按相反顺序存放
例题:冒泡排序
5、字符指针变量和字符数组的一些区别
chart arr[] = {a,b,c}, chart *p = "abc"
字符数组由若干个元素组成,一个元素存放一个字符。而字符指针存放的是一个地址
可以对指针变量赋值,但不能对数组名(数组名是地址,是常量)赋值,arr="aaa"错误,p="aaa"正确
arr[1] = d,正确。p[1] = d,错误
arr不可以用%s输出,p可以
6、指针的形式输出数组
7、通过指针变量访问它所指向的函数
int max(int x, int y)
{
return x>y?x:y;
}
指向函数的指针也可以作为参数传入另一个函数
存放地址的变量叫指针。
2、为什么要定义指针类型?
不同类型的指针的大小不同,定义指针类型是为了使系统知道该指针指向的内容占用多少字节。
3、指针包含两个方面:起始地址编号和存储类型(长度)
4、数组传参的两种等价形式
fun(int arr[]) 和 fun(int *arr) 都表示函数的参数类型为int arr[]。(有人说int arr[]和int *arr不能混为一谈,这里不做论述,只需要知道对于初学者来说编译能通过,能帮助理解就足够了)
例题:将数组a中n个整数按相反顺序存放
#include<stdio.h> void reverse(int*, int); int main() { int n = 6; int arr[] = {1,2,3,4,5,6}; reverse(arr, n); for(int *p=arr, i=0; i<n p++, i++) { printf("%d ", *p); } } void reverse(int* arr, int n) { int t; for(int i=0, j=n-1; i<n/2; i++, j--) { t = arr[i]; arr[i] = arr[j]; arr[j] = t; } }
例题:冒泡排序
#include<stdio.h> void sort(int*, int); int main() { int n=6; int arr[]={4,4,2,5,7,3}; sort(arr, n); for(int i=0; i<n; i++) { printf("%d ", arr[i]); } } void sort(int *arr, int n) { int t; for(int i=0; i<n-1; i++) { for(int j=0; j<n-i-1; j++) { if(arr[j]>arr[j+1]) { t=arr[j+1]; arr[j+1]=arr[j]; arr[j]=t; } } } }
5、字符指针变量和字符数组的一些区别
chart arr[] = {a,b,c}, chart *p = "abc"
字符数组由若干个元素组成,一个元素存放一个字符。而字符指针存放的是一个地址
可以对指针变量赋值,但不能对数组名(数组名是地址,是常量)赋值,arr="aaa"错误,p="aaa"正确
arr[1] = d,正确。p[1] = d,错误
arr不可以用%s输出,p可以
6、指针的形式输出数组
7、通过指针变量访问它所指向的函数
int max(int x, int y)
{
return x>y?x:y;
}
int main() { int (*p)(int x, inty); p = max(1,2); //类型名 (*指针变量名)(参数列表) printf("%d",p); }
指向函数的指针也可以作为参数传入另一个函数
相关文章推荐
- 数组和指针————C语言学习笔记1
- C语言学习笔记-指针-郝斌老师讲解
- C语言学习笔记(17指针)
- C语言学习笔记(18多级指针)
- 【好程序员训练营学习笔记分享1】--c语言指针(一)
- 重新学习C语言笔记--指针
- C语言高级编程学习笔记--指针
- 黑马程序员——IOS学习笔记(C语言指针)
- c语言学习笔记--指针
- C语言学习笔记之指针
- 黑马程序员---c语言 指针的学习笔记
- 【学习笔记】【C语言】返回指针的函数
- iOS开发学习笔记 2-4 C语言部分 指针
- C语言学习笔记之指针篇(二)
- C语言学习笔记之成员数组和指针
- C语言学习笔记 lesson15&16 函数2指针的偏移
- C语言学习笔记(2)——指针(下)
- C语言学习笔记(19) 多维数组和多维指针分析
- C语言提高班学习笔记 lesson5 变量、指针
- iOS开发学习笔记 2-4 C语言部分 指针