标签:
一、指针变量
1、存储地址的变量
2、* 间接寻址符
3、%p 打印地址的格式字符
4、& 取地址符 获取变量的存储单元地址
5、int *p = &a p指向a的存储单元 [p就是一个指针 存储地址的变量]
6、*p 通过地址访问变量的存储单元(内容)
二、指针
int a[5]={3,4,1,2,5}; int *p = a;//定义一个指针指向首地址 printf("p[2] = %d\n",p[1]); printf("%d\n",*(p+1));
三、字符串指针
char str[] = "hello"; char * ps = str; int count = 0; //int n = 0; for (int i =0; str[i] !=‘\0‘ ; i++) { // *(ps+n) != ‘\0‘; printf("%c ",*ps); //n++; ps++; count++; } printf("%d ",count);
四、交换两个变量
void swap(int *a,int *b){ int temp = *a; *a = *b; *b = temp; printf("%d %d",*a,*b); } int main(int argc, const char * argv[]) { int a = 1; int b = 2; swap(&a,&b); return 0; }
五、数组排序
void add(int *arr,int len){ for (int i = 0; i < len-1; i++) { for (int j = 0; j < len -1 -i; j++) { if (*(arr+j) > *(arr+j+1)) { int temp = *(arr+j); *(arr+j) = *(arr+j+1); *(arr+j+1) = temp; } } } for (int i = 0; i < len; i++) { printf("%d ",*(arr+i)); } } int main(int argc, const char * argv[]) { int arr[] = {33,88,23,56,37}; add(arr,5); return 0; }
1、数组排序2
void add(int * p,int len) { for (int i = 0; i<len-1; i++) { for (int j = 0; j < len-1-i; j++) { if (*(p+j)>*(p+j+1)) { int temp; temp = *(p+j); *(p+j) = *(p+j+1); *(p+j+1) = temp; } } } for (int i = 0; i < len ; i++) { printf("%d ",*(p+i)); } } int main(int argc, const char * argv[]) { int arr[] = {33,88,23,56,37}; int * p = arr;//定义指针指向首地址 add(p,5); return 0; }
标签:
原文地址:http://www.cnblogs.com/ChinaTiger/p/4713771.html