Clockwise Spiral Rule
Quick and Dirty Guide to C
Quick C Examples
C Standard Library
Simple Makefile tutorial
getopt
Nice C Tutorial
Learn C Tutorial
C Programming Tutorial
Strings in Memory
string.h: String Manipulation Functions
0000: Prince | |
0001: Jimi Hendrix | |
0002: Beth Gibbons | |
0003: Thom Yorke | |
0004: Lord Finesse | |
0005: KRS-1 | |
0006: James Brown | |
0007: Aretha Franklin | |
0008: The Velvet Underground | |
0009: Ohio Players | |
0010: Godspeed You! Black Emperor |
#include <cstdlib> | |
#include <iostream> | |
using namespace std; | |
int main() { | |
int a = 1; | |
int b = 3; | |
int x; | |
int y; | |
cout << "value of a: " << a << endl; | |
cout << "value of b: " << b << endl; | |
cout << "address of a:" << &a << endl; | |
cout << "address of b:" << &b << endl; | |
cout << "address of x:" << &x << endl; | |
cout << "address of y:" << &y << endl; | |
return 0; | |
} | |
// int main() { | |
// int a = 3; | |
// int* pa; | |
// pa = &a; | |
// | |
// int b = 4; | |
// int* pb = &b; | |
// int c = *pb; | |
// | |
// cout << "c is: " << c << endl; | |
// | |
// *pb = 101; | |
// | |
// cout << "*pb is: " << *pb << endl; | |
// cout << "b is: " << b << endl; | |
// | |
// return 0; | |
// } | |
//int main() { | |
// int a = 1; | |
// int b = 2; | |
// int* pa = &a; | |
// cout << "a = " << a << " at address " << &a << endl; | |
// cout << "b = " << b << " at address " << &b << endl; | |
// cout << "pa = " << pa << " at address " << &pa << endl; | |
// cout << "pa points to the value at address " << pa | |
// << " which is " << *pa << endl; | |
// | |
// return 0; | |
//} | |
//int main() { | |
// int a = 70; | |
// int b = 421; | |
// int* pA; | |
// int* pB; | |
// | |
// pA = &a; | |
// pB = pA; | |
// | |
// cout << "a = " << a << " at address " << &a << endl; | |
// cout << "b = " << b << " at address " << &b << endl; | |
// cout << "pA = " << pA << " at address " << &pA << endl; | |
// cout << "pA points to the value at address " << pA | |
// << " which is " << *pA << endl; | |
// cout << "pB = " << pB << " at address " << &pB << endl; | |
// cout << "pB points to the value at address " << pB | |
// << " which is " << *pB << endl; | |
// | |
// // Do not do this: | |
// | |
// // &a = pA; // attempts to change the address of a | |
// // pA = a; // attempts to change pA to an invalid address | |
// // *pA = pB; // attempts to assign address to a signed integer | |
// // pA = *pB; // attempts to assign pA an invalid address | |
// | |
// return 0; | |
//} | |
//int main() { | |
// int x, y; | |
// const int* px = &x; // value of pointer can't be changed | |
// px = &y; // NOT OK ("change the value of px to this other address") | |
// *px = 3; // ok ("change the value stored at the address pointed to") | |
// | |
// const int* r = &x; // value of variable stored at | |
// // address pointed to can't be changed | |
// r = &y; // ok ("change the value of px to this other address") | |
// *r = 3; // NOT OK ("change the value stored at the address pointed to") | |
// | |
// const int* const q = &x; // nothing associated w/ the pointer can change | |
// q = &y; //disallowed | |
// *q = 3; //disallowed | |
// | |
// return 0; | |
//} | |
//int main() { | |
// int x[4] = {100,200,300,400}; | |
// int *px = x; | |
// | |
// cout << "x = " << x << " at address " << &x << endl; | |
// cout << "px = " << px << " at address " << &px << endl; | |
// cout << "px points to the value at address " << px | |
// << " which is " << *px << endl; | |
// | |
// ++px; | |
// cout << "px = " << px << " at address " << &px << endl; | |
// cout << "px points to the value at address " << px | |
// << " which is " << *px << endl; | |
// | |
// px = &x[2]; | |
// cout << "px = " << px << " at address " << &px << endl; | |
// cout << "px points to the value at address " << px | |
// << " which is " << *px << endl; | |
// | |
// return 0; | |
//} | |