C语言6(指针)
来源:互联网 发布:mac的excel粘贴不管用 编辑:程序博客网 时间:2024/04/30 07:59
C语言6(指针)
#include <stdio.h>
#include <stdlib.h>
void exchange1(int a){
a = 10;
}
void exchange(int *a){
*a = 10;
}
void exchangeOfPosition(int *a, int *b){
int temp = *a;
*a = *b;
*b = temp;
}
int sumOfNumber(int a, int b,int *cha){
*cha = a - b;
return a + b;
}
int main(int argc, const char * argv[]) {
int number = 20;
exchange(&number);printf("number = %d\n",number);
// exchange1(number);
// printf("number = %d\n",number);
#pragma mark - 指针的定义
//基本数据类型 *指针变量名;
// int a = 10;
//
// int *p;
//
// p = &a;
//
// printf("%d\n",*p);
//*:1.在定义时,*号只是一个标识,表示改变量是一个指针变量
// 2.单独使用,表示取值
// *p = 80;
// printf("%d\n",*p);
//
//
// int *p1 = NULL;
// char c = 'c';
// int *pa;
// pa = &a;
// printf("%c\n",*pa);
// int *pa = &a;
/*
1.类型要匹配
2.定义一个指针变量后,要初始化,int *p = NULL;
3.指针只能存地址
4.指针类型的变量都占8个字节
*/
#pragma mark - 指针作为函数参数
// int a = 10;
// int b = 20;
// exchangeOfPosition(&a, &b);
// printf("a = %d,b = %d\n",a,b);
//
// int cha = 0;
// int sum = sumOfNumber(a, b, &cha);
// printf("sum = %d,cha = %d\n",sum,cha);
#pragma mark - 指针和数组
// int array[3] = {1,2,3};
// for (int i = 0; i < 3; i ++) {
// printf("%p\n",&array[i]);
// }
//
// int *pa = array;
// for (int i = 0; i < 3; i ++) {
// // printf("%d\n",pa[i]);
// printf("%d\n",*(pa + i));
// }
//
//
// printf("pa = %d\n",*( array + 0));
// printf("pa& - %p\n",array + 1);
//
/*
1. array[i]
2.*(pa + i)
3.pa[i]
*/
// int newArray[3] = {1,2,3};
// int *pa1 = newArray;
// for (int i = 0; i < 3; i ++) {
// printf("pa1 = %d\n",*pa1);
// pa1 ++;
//
// }
#pragma mark - 指针和字符串
// char s[] = {'i','0','s','\0'};
// char s1[] = "ios";
// printf("s1 = %s\n",s1);
//
//
//
// char *ch = "ios";
// printf("%s\n",ch);
//
// char *ch1 = "ios";
//
//
// s1[0] = 't';
// printf("ssss = %c\n",*(ch + 1));
// *(ch + 1) = 'u';
// char s1[100];
// printf("input s:");
// scanf("%s",s1);
// printf("%s\n",s1);
// char *s2 = malloc(30);
// printf("input string:");
// scanf("%s",s2);
// printf("s2 = %s\n",s2);
//
// free(s2);
/*
malloc alloc new
free release delete
*/
#pragma mark - 指针数组和数组指针
//数组指针 :一个指针 指向数组
// int array1[3] = {1,2,3};
// int *pp = array1;
//
//
// //指针数组: 一个数组 数组中存放指针
// char *s1 = "ios";
// char *s2 = "jack";
// char *s3 = "rose";
//
// char *stringArray[3] = {s1,s2,s3};
#pragma mark - 拓展指针变量的运算
int a = 10;
int *p = &a;
// printf("%d\n",*p);//10
// printf("%p\n",p);//a地址
// printf("%p\n",&a);//a地址
// printf("%p\n",&p);//p地址
// printf("%p\n",&*p);//a地址
/*
*p++ = *(p++) ,*(p + n)
*/
printf("前:%p\n",p);
printf("%d\n",*(p + 9));
printf("后:%p\n",p);
return 0;
}
0 0
- C语言6(指针)
- 指针(一)C语言指针问题
- C语言基础:C语言指针(6) - 指针和字符串
- c语言基础 (6) 指针
- C语言-指针(1)
- C语言-指针(2)
- C语言-指针(1)
- C语言-指针(2)
- C语言指针(一)
- C语言指针(二)
- C语言指针(三)
- C语言 指针(详解)
- C语言随笔(指针)
- C语言------指针(一)
- C语言指针学习(-)
- C语言(函数指针)
- C语言指针(一)
- C语言指针(一)
- C语言中指针变量使用时常见的几个问题
- JavaWeb学习总结(二)——Tomcat服务器学习和使用(一)
- CSS3实现折纸效果
- jquery,javascript,easyUI,取值
- MyEclipse中配置tomcat的JVM内存
- C语言6(指针)
- Unreal Engine 4 —— 冷却UI的制作
- 百度搜索小技巧
- JavaWeb学习总结(三)——Tomcat服务器学习和使用(二)
- 流程图制作之Giffy Diagrams
- Redis安装与使用
- android应用开发全程实录-你有多熟悉listview? .
- java从头到位实现区域三级下拉框
- ASM在原有的磁盘组添加磁盘